54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
// lib/wizard-types.ts
|
|
// Shared types for the new-company registration wizard.
|
|
|
|
export interface Section69 {
|
|
q1_probation: boolean | null;
|
|
q2_court_prohibited: boolean | null;
|
|
q3_unrehabilitated_insolvent: boolean | null;
|
|
q4_public_regulation: boolean | null;
|
|
q5_removed_from_office: boolean | null;
|
|
q6_convicted_offence: boolean | null;
|
|
}
|
|
|
|
export interface DirectorInput {
|
|
ui_key: string;
|
|
first_names: string;
|
|
surname: string;
|
|
id_no: string;
|
|
date_of_birth: string;
|
|
residential_address: string;
|
|
postal_address: string;
|
|
cell_phone: string;
|
|
email: string;
|
|
section69: Section69;
|
|
}
|
|
|
|
export interface ShareholderInput {
|
|
ui_key: string;
|
|
is_director: boolean;
|
|
director_index: number | null;
|
|
name: string;
|
|
id_or_entity_no: string;
|
|
share_percent: number;
|
|
}
|
|
|
|
export interface CompanyInput {
|
|
proposed_name_1: string;
|
|
proposed_name_2: string;
|
|
proposed_name_3: string;
|
|
trading_address: string;
|
|
postal_address: string;
|
|
financial_year_end: number;
|
|
authorised_shares: "100" | "1000";
|
|
company_cell: string;
|
|
company_email: string;
|
|
public_officer: string;
|
|
company_secretary: string;
|
|
}
|
|
|
|
export interface WizardState {
|
|
director_count: number;
|
|
directors: DirectorInput[];
|
|
company: CompanyInput;
|
|
shareholders: ShareholderInput[];
|
|
}
|