import type { TopLevelDataSchema } from '../context/StateContext/types';
import type { ExistingLegalEntity, LegalEntity } from '../core/models/api/legal-entity';
import type { BusinessDetailsSchema } from '../components/Business/forms/BusinessDetails/types';
import type { BusinessFinancingSchema } from '../components/EFP/tasks/BusinessFinancingDropin/types';
import type { SourceOfFundsSchema } from '../components/EFP/tasks/SourceOfFundsDropin/types';
import type { IndividualSchema } from '../components/Individual/forms/Individual.types';
import type { TrustSchema } from '../components/Trust/forms/Trust/types';
import type { DocumentMappingRecord, MappingKey, MappingRecord } from './mapping/mappingRecord';
export type AnyTLDSFieldName = MappingKey<IndividualSchema> | MappingKey<BusinessDetailsSchema> | MappingKey<TrustSchema> | MappingKey<BusinessFinancingSchema> | MappingKey<SourceOfFundsSchema>;
export declare const getFieldsWithExistingData: <TLDS extends TopLevelDataSchema>(legalEntity: ExistingLegalEntity, keyMapping: MappingRecord<LegalEntity, TLDS>, documentMapping?: DocumentMappingRecord<TLDS>, knownProblematicFields?: Array<MappingKey<TLDS>>) => MappingKey<TLDS>[];
