import type { ReadonlySignal } from '@preact/signals';
import type { CompanySelectionResponse } from '../../../../api/companySelection/companySelection.types';
import type { UserEvents } from '../../../../core/user-events';
import type { Form } from '../../../../hooks/useMultiForm/types';
import type { CountryCode } from '../../../../types/datasets/country-code';
import type { BusinessDetailsSchema } from '../../forms/BusinessDetails/types';
type DisallowedSelectionReasons = 'LEGAL_ARRANGEMENT';
export interface CompanySearchState {
    selectedCompany: ReadonlySignal<CompanySelectionResponse | undefined>;
    verifiedBusiness: ReadonlySignal<CompanySelectionResponse | undefined>;
    tinMatched: ReadonlySignal<boolean | undefined>;
    disallowedSelectionReason: ReadonlySignal<DisallowedSelectionReasons | undefined>;
    resetCompanySearchData: () => void;
    disallowSelection: (reason: DisallowedSelectionReasons) => void;
    setTinMatched: (value: boolean) => void;
    selectCompany: (data: CompanySelectionResponse, idx: number) => void;
    confirmCompany: (multiform: Form<BusinessDetailsSchema>, country: CountryCode) => void;
}
export declare const CompanySearchStateModel: import("@preact/signals").ModelConstructor<CompanySearchState, [UserEvents]>;
export {};
