import type { GuidanceQuestionValue } from '../../../components/Individual/forms/GuidanceQuestion/GuidanceQuestion';
import type { SettlorExemptionReason } from '../../../components/Trust/forms/TrustRoleAndEntityType/types';
import type { MixpanelProperty } from '../../user-events';
import type { DecisionMakerType } from './decision-maker-type';
import type { LegalEntityType, LegalEntityTypes } from './legal-entity-type';
import type { TrustMemberType } from './trust-member-type';
import type { UnincorporatedPartnershipMemberType } from './unincorporated-partnership';
export type LegalEntityAssociationType = DecisionMakerType | TrustMemberType | typeof LegalEntityTypes.TRUST | typeof LegalEntityTypes.SOLE_PROPRIETORSHIP | typeof LegalEntityTypes.UNINCORPORATED_PARTNERSHIP | UnincorporatedPartnershipMemberType | 'legalRepresentative' | 'immediateParentCompany' | 'ultimateParentCompany' | 'originator';
export type LegalRepresentativeRelationshipType = 'parent' | 'guardian';
export interface LegalEntityAssociation {
    [key: string]: MixpanelProperty;
    jobTitle?: string;
    legalEntityId?: string;
    type: LegalEntityAssociationType;
    name?: string;
    entityType?: LegalEntityType;
    associatorId?: string;
    settlorExemptionReason?: SettlorExemptionReason[];
    relationship?: LegalRepresentativeRelationshipType;
    nominee?: boolean;
}
export type NomineeType = {
    nomineeShareholder?: string;
    nomineeDirector?: string;
    isNomineeDirector?: GuidanceQuestionValue | null;
    isNomineeShareholder?: GuidanceQuestionValue | null;
};
