import type { RetrieveAddressSuccessResponse } from '../../../../api/address/address.types';
import type { FeatureName } from '../../../../context/ToggleContext/types';
import type { TFunction } from '../../../../../types';
import type { CleanseAPIRequestPayload } from '../../../../core/models/api/contracts';
import type { CountryCode } from '../../../../types/datasets/country-code';
import type { AsyncValidatorRules, ValidatorRules } from '../../../../utils/validation/types';
import type { AddressSchema } from './types';
export declare const addressValidationRules: (country: CountryCode | undefined) => ValidatorRules<AddressSchema>;
export declare const addressValidationRulesV4: (country: CountryCode | undefined, t: TFunction<"common">) => ValidatorRules<AddressSchema>;
export declare const addressValidators: ({ isFeatureEnabled, country, t, }: {
    isFeatureEnabled?: (feature: FeatureName) => boolean;
    country?: CountryCode;
    t: TFunction<"common">;
}) => ValidatorRules<AddressSchema>;
export declare const preventPoBoxValidation: (cleanseAddress: (payload: CleanseAPIRequestPayload) => Promise<RetrieveAddressSuccessResponse>) => AsyncValidatorRules<AddressSchema>;
