import type { ExistingLegalEntity } from '../../../../core/models/api/legal-entity';
import type { LegalEntityType } from '../../../../core/models/api/legal-entity-type';
import type { BaseInnerFormProps } from '../../../../hooks/useForm/types';
import type { NsTranslationKey } from '../../../../../types';
import type { CountryCode } from '../../../../types/datasets/country-code';
import type { FileSchema } from '../../../../types/file';
export interface BankDocumentSchema {
    documentType?: BankDocumentType;
    bankStatementDocument?: FileSchema[];
    description?: string;
}
export interface BankDocumentProps extends BaseInnerFormProps<BankDocumentSchema> {
    legalEntity: ExistingLegalEntity;
    country?: CountryCode;
    formIsActive?: boolean;
}
export type BankDocumentType = (typeof BankDocumentTypes)[keyof typeof BankDocumentTypes];
export declare const BankDocumentTypes: {
    readonly BANK_STATEMENT: "bankStatement";
    readonly DEPOSIT_SLIP: "depositSlip";
    readonly SCREENSHOT_OF_BANK: "screenshotOfOnlineBankingEnviroment";
    readonly A_LETTER_FROM_YOUR_BANK: "aLetterFromYourBank";
    readonly CHECK: "check";
};
export interface DocumentsModifiers {
    rootEntityType: LegalEntityType;
    rootEntityLegalName: string;
    associatedEntityType?: LegalEntityType;
    associatedEntityLegalName?: string | undefined;
    associatedEntityTradingName?: string | undefined;
    unincorporatedPartnershipMembers?: string | undefined;
}
export declare const bankDocumentOptions: Array<{
    id: BankDocumentType;
    name: NsTranslationKey<'banking'>;
}>;
export declare const BankDocumentRequirement: {
    readonly ACCOUNT_NAME_INDIVIDUAL: "bankAccountNameIndividual";
    readonly ACCOUNT_NAME_ORGANIZATION: "bankAccountNameOrganization";
    readonly ACCOUNT_NAME_WITH_SOLE_PROP: "bankAccountNameWithSoleProprietor";
    readonly ACCOUNT_NAME_WITH_TRUST: "bankAccountNameWithTrust";
    readonly ACCOUNT_NAME_WITH_UNINCORPORATED_PARTNERSHIP: "accountMustBeInTheNameOfUnincorporatedPartnership";
    readonly ACCOUNT_NUMBER_OR_IBAN: "accountNumberOrIbanVisible";
    readonly ACCOUNT_NUMBER: "accountNumberVisible";
    readonly ACCOUNT_NUMBER_FULL_OR_PARTIAL: "accountNumberFullOrPartialVisible";
    readonly DATE_ON_DOCUMENT: "datedInTheLastXMonths";
    readonly COUNTRY_OF_BANK: "showsCountryOfBankAccount";
    readonly OFFICIAL_DOCUMENT: "hasToBeOfficialDocumentFromBank";
    readonly STAMP_OR_SIGNATURE: "hasBankStampOrBankSignature";
    readonly HIGH_RESOLUTION_CHECK: "highResolutionCheck";
};
