import { type Dispatch, type StateUpdater } from 'preact/hooks';
import type { BusinessLinesResponse } from '../../../api/businessLines/businessLines.types';
import type { LoadingStatus } from '../../ui/atoms/LoaderWrapper/constants';
import type { ExistingLegalEntity } from '../../../core/models/api/legal-entity';
import { type TaskType } from '../../../stores/globalStore/taskTypes';
import type { CountryCode } from '../../../types/datasets/country-code';
import type { EntityProblems } from '../../../types/errors/entity-problems';
import type { FormModelWithValidity } from '../../../types/form';
import type { TrustMember } from '../../Trust/tasks/TrustMembers/types';
import type { UnincorporatedPartnershipMember } from '../../UnincorporatedPartnership/tasks/UnincorporatedPartnershipMembers/types';
import type { BusinessDetailsSchema } from '../forms/BusinessDetails/types';
export interface UseSubmitBusinessDetailsProps {
    country: CountryCode;
    data: BusinessDetailsSchema;
    forms: FormModelWithValidity[];
    legalEntityResponse: ExistingLegalEntity;
    associatedLegalArrangement?: ExistingLegalEntity;
    nestedLegalEntity?: ExistingLegalEntity;
    nestedLegalEntityDetails?: TrustMember | UnincorporatedPartnershipMember;
    efpBusinessLines: BusinessLinesResponse[] | undefined;
    taskType: TaskType;
    problems: EntityProblems | undefined;
    setProblems: Dispatch<StateUpdater<EntityProblems>>;
    setLoadingStatus: (status: LoadingStatus) => void;
    onExternalSubmit: ((data: BusinessDetailsSchema) => void) | undefined;
}
export declare function useSubmitBusinessDetails({ country, data, forms, legalEntityResponse, associatedLegalArrangement, nestedLegalEntity, nestedLegalEntityDetails, efpBusinessLines, taskType, problems, setProblems, setLoadingStatus, onExternalSubmit, }: UseSubmitBusinessDetailsProps): () => Promise<void>;
