import type { NsTranslationKey } from '../../../../../types';
import type { ExistingLegalEntity } from '../../../../core/models/api/legal-entity';
import type { AccountHolderOption, LegalArrangementOption } from '../../../../types/accountHolder';
export interface BusinessTypeSelectionProps {
    rootLegalEntity: ExistingLegalEntity;
    onComplete: (accountHolder: AccountHolderOption) => void;
    onBack?: () => void;
}
export interface BusinessTypeSelectionSchema {
    businessType?: BusinessTypeModel;
    legalArrangement?: LegalArrangementModel;
    trusteeType?: TrusteeTypeModel;
}
export type BusinessTypeMetadata = Record<BusinessType, BusinessTypeModel>;
export type BusinessType = 'individual' | 'soleProprietorship' | 'company' | 'legalArrangement';
export interface BusinessTypeModel {
    id: BusinessType;
    name: NsTranslationKey<'common'>;
    description: NsTranslationKey<'common'>;
    accountHolder?: Exclude<AccountHolderOption, LegalArrangementOption>;
}
export interface LegalArrangementModel {
    id: LegalArrangementOption;
    accountHolder: AccountHolderOption;
    name: NsTranslationKey<'common'>;
    description: NsTranslationKey<'common'>;
}
export declare const trusteeTypes: readonly ["individual", "company"];
export type TrusteeType = (typeof trusteeTypes)[number];
export interface TrusteeTypeModel {
    id: TrusteeType;
    name: NsTranslationKey<'common'>;
}
