WORKFLOW-APP/lib/wizard-types.ts

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[];
}