import { AccountDisabledInfo } from './accountDisabledInfo';
import { AccountPurpose } from './accountPurpose';
import { AccountStatusDetails } from './accountStatusDetails';
import { ActionRequiredInfo } from './actionRequiredInfo';
import { BankAccountDTO } from './bankAccountDTO';
import { CampaignDetail } from './campaignDetail';
import { ClientApiSettings } from './clientApiSettings';
import { ClientInternalInfo } from './clientInternalInfo';
import { ExternalInfo } from './externalInfo';
import { FeatureFlags } from './featureFlags';
import { KYCRecord } from './kYCRecord';
import { NotificationSettings } from './notificationSettings';
import { PrimaryContactDTO } from './primaryContactDTO';
import { UnderWritingRecord } from './underWritingRecord';
import { VirtualAccountInfo } from './virtualAccountInfo';
export interface AccountDTO {
    account_details: object;
    account_hierarchy_type?: AccountDTO.AccountHierarchyTypeEnum;
    account_number?: string;
    account_purpose?: AccountPurpose;
    account_status?: AccountDTO.AccountStatusEnum;
    account_type?: AccountDTO.AccountTypeEnum;
    action_required_info: ActionRequiredInfo;
    api_activation_state: AccountDTO.ApiActivationStateEnum;
    bank_accounts: Array<BankAccountDTO>;
    campaign_details: CampaignDetail;
    ccy_virtual_account_info: {
        [key: string]: VirtualAccountInfo;
    };
    client_api_settings: ClientApiSettings;
    client_configuration_last_update?: Date;
    client_internal_info: ClientInternalInfo;
    close_reason?: string;
    connected_client_api_settings?: ClientApiSettings;
    create_time: string;
    data_center_locations: {
        [key: string]: string;
    };
    disabled_info?: AccountDisabledInfo;
    enabled: boolean;
    external_info?: ExternalInfo;
    feature_flag_overrides?: FeatureFlags;
    id: string;
    kyc_complete: boolean;
    kyc_record: KYCRecord;
    last_update: string;
    notification_settings: NotificationSettings;
    open_id?: string;
    owning_entity: AccountDTO.OwningEntityEnum;
    primary_account_id?: string;
    primary_contact: PrimaryContactDTO;
    settlement_account_ids: {
        [key: string]: string;
    };
    short_ref?: string;
    status?: string;
    status_details: AccountStatusDetails;
    under_writing_record: UnderWritingRecord;
    version: number;
    virtual_account_number?: string;
}
export declare namespace AccountDTO {
    const validAccountHierarchyTypeEnum: readonly ["PRIMARY", "SUB"];
    type AccountHierarchyTypeEnum = (typeof validAccountHierarchyTypeEnum)[number] | 'UNKNOWN';
    const validAccountStatusEnum: readonly ["INACTIVE", "SUBMITTED", "ACTIVE", "SUSPENDED"];
    type AccountStatusEnum = (typeof validAccountStatusEnum)[number] | 'UNKNOWN';
    const validAccountTypeEnum: readonly ["COMPANY", "PERSONAL"];
    type AccountTypeEnum = (typeof validAccountTypeEnum)[number] | 'UNKNOWN';
    const validApiActivationStateEnum: readonly ["NEW", "ENABLED", "DISABLED"];
    type ApiActivationStateEnum = (typeof validApiActivationStateEnum)[number] | 'UNKNOWN';
    const validOwningEntityEnum: readonly ["AIRWALLEX_HK", "AIRWALLEX_AU", "AIRWALLEX_SG", "AIRWALLEX_UK", "AIRWALLEX_JP", "AIRWALLEX_US", "AIRWALLEX_NL", "AIRWALLEX_CA", "AIRWALLEX_MY", "AIRWALLEX_NZ", "AIRWALLEX_LT", "AIRWALLEX_MX", "YUNHUIPAY_CN", "AIRWALLEX_CAPITALHK", "AIRWALLEX_CAPITALUS", "AIRWALLEX_AUSVF", "MEXPAGO_MX"];
    type OwningEntityEnum = (typeof validOwningEntityEnum)[number] | 'UNKNOWN';
    const discriminator: string;
    const attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
    }>;
}
//# sourceMappingURL=accountDTO.d.ts.map