import type { ExistingLegalEntity, LegalEntityAssociationDto, LegalEntityType } from '../api/legalEntity/legalEntity.types.d.ts'; import { type TaskType } from '../stores/globalStore/taskTypes.d.ts'; import type { AccountHolderOption } from '../types/accountHolder.d.ts'; import type { CountryCode } from '../types/datasets/country-code.d.ts'; import type { CapabilityProblems } from '../types/errors/capability-problems.d.ts'; import type { EntityProblems } from '../types/errors/entity-problems.d.ts'; import type { BasicDetailsSchema } from '../components/Individual/forms/BasicDetails/BasicDetails.types'; import type { GuidanceQuestionValue } from '../components/Individual/forms/GuidanceQuestion/GuidanceQuestion'; export type NomineeType = { nomineeShareholder?: string; nomineeDirector?: string; isNomineeDirector?: GuidanceQuestionValue | null; isNomineeShareholder?: GuidanceQuestionValue | null; }; /** * Returns the entity associations from the root LE which have a {@link LegalEntityAssociationDto.associatorId} matching the given `legalEntityId`. * Can be used to find members of a trust, or decision makers of a trustee company. * * @param rootLE the root legal entity which holds all the entity associations * @param legalEntityId the ID of the legal entity whose associations we wish to find */ export declare const getDirectEntityAssociations: (rootLE: ExistingLegalEntity, legalEntityId: string) => LegalEntityAssociationDto[]; export declare const getOwnEntityAssociations: (legalEntity: ExistingLegalEntity) => LegalEntityAssociationDto[]; export declare const getOwnSoleProprietorshipIdArray: (legalEntity: ExistingLegalEntity) => string[]; export declare const hasSolePropInLegalEntity: (rootLegalEntity: ExistingLegalEntity) => boolean; export declare const getOwnSolePropProblems: (rootLegalEntity: ExistingLegalEntity, capabilityProblems: CapabilityProblems) => EntityProblems | undefined; export declare const hasOwnEntityAssociationOfType: (type: LegalEntityType, entityAssociations: LegalEntityAssociationDto[] | undefined, legalEntityId: string | undefined) => boolean; export declare const removeEntityAssociationByType: (type: LegalEntityType, entityAssociations: LegalEntityAssociationDto[], legalEntityId: string | undefined) => LegalEntityAssociationDto[]; export declare const filterOutUnwantedAssociationsIfRootLE: (taskType: TaskType, legalEntity: ExistingLegalEntity | undefined, accountHolder: AccountHolderOption | undefined) => LegalEntityAssociationDto[] | undefined; export declare const getLegalRepresentative: (legalEntityResponse: ExistingLegalEntity) => { readonly associatorId?: string; readonly entityType?: string; jobTitle?: string; legalEntityId: string; readonly name?: string; nominee?: boolean; relationship?: string; readonly settlorExemptionReason?: string[]; type: import("../api/legalEntity/legalEntity.contract").components["schemas"]["LegalEntityAssociationType"]; } | undefined; export declare const allowedCountriesForNominee: CountryCode[]; export declare const attachNomineeToRole: (existingEntityAssociation: LegalEntityAssociationDto, country: CountryCode, nominee?: NomineeType) => LegalEntityAssociationDto; export declare const getNomineeFromAssociation: (entityAssociations: LegalEntityAssociationDto[], basicDetails: BasicDetailsSchema) => BasicDetailsSchema; export declare const hasNomineesChanged: (basicDetails?: BasicDetailsSchema, nomineesSubmitted?: NomineeType) => boolean;