import type { CreateLegalEntity } from '../../api/createLegalEntity/useCreateLegalEntity'; import type { CompanyType } from '../../api/legalEntity/legalEntity.types'; import type { UpdateLegalEntity } from '../../api/legalEntity/useUpdateLegalEntity'; import type { ExistingLegalEntity } from '../../core/models/api/legal-entity'; import { LegalEntityTypes } from '../../core/models/api/legal-entity-type'; import type { AccountHolderOption } from '../../types/accountHolder'; import type { GlobalEntrySchema } from './tasks/types'; export type GlobalEntryOrganizationTypeAndEntityTypes = CompanyType | typeof LegalEntityTypes.UNINCORPORATED_PARTNERSHIP | typeof LegalEntityTypes.TRUST | typeof LegalEntityTypes.INDIVIDUAL; export declare const getGlobalEntryCompanyType: (legalEntity: ExistingLegalEntity | undefined, data: GlobalEntrySchema) => GlobalEntryOrganizationTypeAndEntityTypes | undefined; /** * @param legalEntity the root entity * @param associatedSoleProp the proprietorship associated to the root, when there is one. It holds * the registration details the root does not, so editing an existing proprietorship prefills. */ export declare const mapLegalEntityToGlobalEntrySchema: (legalEntity: ExistingLegalEntity, associatedSoleProp?: ExistingLegalEntity) => GlobalEntrySchema; export declare const isPaperworkQuestionAsked: (data: GlobalEntrySchema) => boolean; export declare const getFiledPaperwork: (data: GlobalEntrySchema) => "yes" | "no" | null; export declare const isSoleProprietorship: (data: GlobalEntrySchema) => boolean; /** * Updates the legal entity and returns the account holder the answers imply. */ interface SubmitGlobalEntryProps { legalEntity: ExistingLegalEntity; associatedSoleProp?: ExistingLegalEntity; data: GlobalEntrySchema; createLegalEntity: CreateLegalEntity; updateLegalEntity: UpdateLegalEntity; } export declare const submitGlobalEntry: ({ legalEntity, associatedSoleProp, data, updateLegalEntity, createLegalEntity, }: SubmitGlobalEntryProps) => Promise; export {};