import type { ExperimentName } from '../../../../context/ExperimentContext/types';
import type { BooleanSettingName } from '../../../../context/SettingsContext/types';
import type { ExistingLegalEntity } from '../../../../core/models/api/legal-entity';
import type { TFunction } from '../../../../../types';
import type { AccountHolderOption } from '../../../../types/accountHolder';
import type { EntityProblems } from '../../../../types/errors/entity-problems';
import type { FormList, FormModelWithValidity } from '../../../../types/form';
import type { BasicInformationSchema } from '../../forms/BasicInformation/types';
import type { BusinessDetailsSchema } from '../../forms/BusinessDetails/types';
import type { SubmitProps } from './types';
interface BuildRequiredFormsProps {
    config: {
        forms: FormList;
        requiredFields: Record<string, string[]> | undefined;
        optionalFields: Record<string, string[]> | undefined;
        isValid: Record<string, boolean>;
        problems: EntityProblems;
        accountHolder: AccountHolderOption | undefined;
        legalEntityResponse: ExistingLegalEntity;
        isSettingEnabled: (settingName: BooleanSettingName) => boolean;
    };
    options?: {
        hasNoSearchResults?: boolean;
        skipSummary?: boolean;
    };
}
export declare function buildRequiredForms({ config: { forms, requiredFields, optionalFields, isValid, problems, isSettingEnabled, accountHolder, legalEntityResponse, }, options, }: BuildRequiredFormsProps): FormModelWithValidity[];
export declare const formatDataForSummary: (data: BusinessDetailsSchema, forms: FormModelWithValidity[], t: TFunction<readonly ["common", "business"]>, language: string, isExperimentEnabled: (key: ExperimentName) => boolean, version?: number) => {};
export declare function submit({ data, legalEntityResponse, associatedLegalArrangement, nestedLegalEntity, nestedLegalEntityDetails, problems, taskType, accountHolder, forms, documentUtils, t, showToast, setLoadingStatus, setProblems, handleUpdateLegalEntity, createLegalEntity, onExternalSubmit, isExperimentEnabled, userEvents, efpBusinessLines, createBusinessLine, updateBusinessLine, matchingScenario, }: SubmitProps): Promise<void>;
export declare const getCountryOfGoverningLaw: (isCountryOfGoverningLawEnabled?: boolean, basicData?: BasicInformationSchema) => string | undefined;
export {};
