import type { CompanyTypesValue } from '../../../../core/models/api/company-types-value';
import type { LegalEntityTypes } from '../../../../core/models/api/legal-entity-type';
import type { BaseFormFieldProps } from '../../../../hooks/useForm/types';
import type { NsTranslationKey } from '../../../../../types';
import type { CountryCode } from '../../../../types/datasets/country-code';
import type { StateCodeUS } from '../../../../types/datasets/state-code';
import type { companyRegistrationNumberOptions } from './registrationNumberTypes';
export interface CompanyRegistrationNumberOption {
    id: string;
    name: NsTranslationKey<'common'>;
    applicableOnlyFor?: ReadonlyArray<CompanyTypesValue | 'trust'>;
}
export type CompanyRegistrationNumberType = (typeof companyRegistrationNumberOptions)[keyof typeof companyRegistrationNumberOptions][number]['id'];
export interface BusinessRegistrationNumberFieldSchema {
    registrationNumber?: string;
    registrationNumberType?: CompanyRegistrationNumberType;
    exemptedFromRegistrationNumber?: boolean;
}
export interface BusinessRegistrationNumberFieldProps extends Pick<BaseFormFieldProps<BusinessRegistrationNumberFieldSchema>, 'data' | 'valid' | 'errors' | 'labels' | 'mask' | 'readonly' | 'shouldValidate' | 'optional' | 'handleChangeFor'> {
    country: CountryCode;
    state?: StateCodeUS;
    canExempt: boolean;
    companyType?: CompanyTypesValue | typeof LegalEntityTypes.TRUST;
    helperText?: string;
    invertCompanyTypeFilter?: boolean;
}
