import type { TrustMemberType } from '../../../../core/models/api/trust-member-type';
import type { BaseInnerFormProps } from '../../../../hooks/useForm/types';
import type { NameSchema } from '../../../Shared/fields/Name/types';
import type { CompanyNameAndCountrySchema } from '../../../Shared/forms/CompanyNameAndCountry/types';
import type { CountryCode } from '../../../../types/datasets/country-code';
import type { TrustMember } from '../../tasks/TrustMembers/types';
export declare const trustMemberLegalEntityTypes: readonly ["individual", "organization"];
export type TrustMemberLegalEntityType = (typeof trustMemberLegalEntityTypes)[number];
declare const settlorExemptionReasons: readonly ["contributionBelowThreshold", "professionalServiceProvider", "deceased"];
export type SettlorExemptionReason = (typeof settlorExemptionReasons)[number];
export declare const settlorExemptionReasonWithNoneOfTheAbove: readonly ["contributionBelowThreshold", "professionalServiceProvider", "deceased", "noneOfTheAbove"];
export type SettlorExemptionReasonWithNoneOfTheAbove = (typeof settlorExemptionReasonWithNoneOfTheAbove)[number];
export interface TrustRoleAndEntityTypeSchema extends NameSchema {
    role?: TrustMemberType[];
    entityType?: TrustMemberLegalEntityType;
    descriptionUndefinedBeneficiary?: string;
    settlorExemptionReason?: SettlorExemptionReasonWithNoneOfTheAbove[];
    companyDetails?: CompanyNameAndCountrySchema;
    country?: CountryCode;
    legalCompanyName?: string;
    trustMemberType?: string;
}
export interface TrustRoleAndEntityTypeProps extends BaseInnerFormProps<TrustRoleAndEntityTypeSchema> {
    existingTrustMember?: TrustMember;
    isOrganizationSettlorWithExemptionEnabled?: boolean;
    country?: CountryCode;
}
export declare const couldBeExemptSettlor: (data: TrustRoleAndEntityTypeSchema, country?: CountryCode) => boolean;
export declare const isExemptSettlor: (data: TrustRoleAndEntityTypeSchema) => data is TrustRoleAndEntityTypeSchema & {
    settlorExemptionReason: SettlorExemptionReason[];
};
export declare const isOrganizationAndSettlor: (data: TrustRoleAndEntityTypeSchema) => boolean;
export {};
