import type { ExistingLegalEntity, LegalEntity, PatchLegalEntity } from '../../../../core/models/api/legal-entity';
import type { Organization } from '../../../../core/models/api/organization';
import type { MultiFormOptions } from '../../../../hooks/useMultiForm/types';
import type { Address } from '../../../../core/models/api/address';
import type { CountryCode } from '../../../../types/datasets/country-code';
import type { Currency } from '../../../../types/datasets/currency';
import type { FinancialInformationSchema } from '../../../Business/forms/FinancialInformation/types';
import type { BusinessFinancingCompanySchema, BusinessFinancingIndex, BusinessFinancingParentCompanySchema, BusinessFinancingParentSchemasCombined, BusinessFinancingSchema, BusinessFinancingSoleProprietorSchema } from './types';
export declare const getLegalEntityId: (businessFinancingIndex: BusinessFinancingIndex, rootLegalEntity: ExistingLegalEntity | undefined) => undefined | string;
export declare const USER_LOCALE: string;
export declare const entityHasParentCompany: (data: BusinessFinancingSchema) => boolean | "" | undefined;
export declare const entityHasUltimateParentCompany: (data: BusinessFinancingSchema) => boolean | "" | undefined;
export declare const financialReportsToString: (financialReports: FinancialInformationSchema) => {
    numberOfEmployees: string | undefined;
    annualTurnover: string | undefined;
    balanceSheetTotal: string | undefined;
    financialReportingDate?: any;
    currency?: Currency;
    reportedValueOption?: "balanceSheetTotal" | "annualTurnover";
};
/**
 * Prepares sole proprietor business financing data for submission.
 * IMPORTANT: Both root LE (individual) and sole prop LE MUST exist before calling this.
 * This function always returns UPDATE payloads (with IDs), never CREATE payloads.
 */
export declare const prepareSoleProprietorBusinessFinancingSubmitData: (data: BusinessFinancingSchema, rootLegalEntity: ExistingLegalEntity | undefined, soleProprietorLegalEntity: ExistingLegalEntity | undefined) => {
    individualPayload: PatchLegalEntity;
    solePropPayload: PatchLegalEntity;
} | null;
export declare const prepareBusinessFinancingSubmitData: (businessFinancingIndex: BusinessFinancingIndex, data: BusinessFinancingSchema, rootLegalEntity: ExistingLegalEntity | undefined) => LegalEntity | null;
export declare const appendBusinessFinancingData: (legalOrganization?: Organization, businessFinancingData?: BusinessFinancingCompanySchema | BusinessFinancingParentSchemasCombined) => BusinessFinancingCompanySchema | BusinessFinancingParentSchemasCombined | undefined;
export declare const appendSoleProprietorBusinessFinancingData: (legalArrangement: any, businessFinancingData?: BusinessFinancingSoleProprietorSchema) => BusinessFinancingSoleProprietorSchema | undefined;
export declare const handleBusinessFinancingFormSubmission: (businessFinancingType: BusinessFinancingIndex, details: LegalEntity | PatchLegalEntity | null, createFunction: (details: LegalEntity) => Promise<ExistingLegalEntity>, updateFunction: (details: PatchLegalEntity) => Promise<ExistingLegalEntity>, entityId?: string) => Promise<ExistingLegalEntity>;
export declare const getCompanySchemaKeys: (country: CountryCode, currentData: Partial<BusinessFinancingCompanySchema>, schemaKeys: (keyof BusinessFinancingCompanySchema)[]) => Array<keyof BusinessFinancingCompanySchema>;
export declare const getSoleProprietorSchemaKeys: (currentData: Partial<BusinessFinancingSoleProprietorSchema>, schemaKeys: (keyof BusinessFinancingSoleProprietorSchema)[]) => Array<keyof BusinessFinancingSoleProprietorSchema>;
export declare const getParentCompanySchemaKeys: (currentData: Partial<BusinessFinancingParentSchemasCombined>, schemaKeys: (keyof BusinessFinancingParentSchemasCombined)[], rootEntityAddress?: Address) => Array<keyof BusinessFinancingParentSchemasCombined>;
export declare const getBusinessFinancingRequiredFields: (country: CountryCode, data?: BusinessFinancingSchema, rootEntityAddress?: Address) => MultiFormOptions<BusinessFinancingSchema>["requiredFields"];
export declare const getAddressCountryForParentCompany: (parentCompany?: BusinessFinancingParentCompanySchema, leAddress?: Address) => CountryCode | undefined;
