import { AccountHolderCapability } from "./accountHolderCapability";
import { ContactDetails } from "./contactDetails";
import { VerificationDeadline } from "./verificationDeadline";
export declare class AccountHolder {
    /**
    * The unique identifier of the [balance platform](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balancePlatforms/{id}__queryParam_id) to which the account holder belongs. Required in the request if your API credentials can be used for multiple balance platforms.
    */
    "balancePlatform"?: string;
    /**
    * Contains key-value pairs that specify the actions that an account holder can do in your platform. The key is a capability required for your integration. For example, **issueCard** for Issuing. The value is an object containing the settings for the capability.
    */
    "capabilities"?: {
        [key: string]: AccountHolderCapability;
    };
    /**
    * @deprecated
    */
    "contactDetails"?: ContactDetails | null;
    /**
    * Your description for the account holder.
    */
    "description"?: string;
    /**
    * The unique identifier of the account holder.
    */
    "id": string;
    /**
    * The unique identifier of the [legal entity](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities#responses-200-id) associated with the account holder. Adyen performs a verification process against the legal entity of the account holder.
    */
    "legalEntityId": string;
    /**
    * A set of key and value pairs for general use. The keys do not have specific names and may be used for storing miscellaneous data as desired. > Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.
    */
    "metadata"?: {
        [key: string]: string;
    };
    /**
    * The unique identifier of the migrated account holder in the classic integration.
    */
    "migratedAccountHolderCode"?: string;
    /**
    * The ID of the account holder\'s primary balance account. By default, this is set to the first balance account that you create for the account holder. To assign a different balance account, send a PATCH request.
    */
    "primaryBalanceAccount"?: string;
    /**
    * Your reference for the account holder.
    */
    "reference"?: string;
    /**
    * The status of the account holder.  Possible values:    * **active**: The account holder is active and allowed to use its capabilities. This is the initial status for account holders and balance accounts. You can change this status to **suspended** or **closed**.    * **suspended**: The account holder is temporarily disabled and payouts are blocked. You can change this status to **active** or **closed**.   * **closed**: The account holder and all of its capabilities are permanently disabled. This is a final status and cannot be changed.
    */
    "status"?: AccountHolder.StatusEnum;
    /**
    * The time zone of the account holder. For example, **Europe/Amsterdam**. Defaults to the time zone of the balance platform if no time zone is set. For possible values, see the [list of time zone codes](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
    */
    "timeZone"?: string;
    /**
    * List of verification deadlines and the capabilities that will be disallowed if verification errors are not resolved.
    */
    "verificationDeadlines"?: Array<VerificationDeadline>;
    static readonly discriminator: string | undefined;
    static readonly mapping: {
        [index: string]: string;
    } | undefined;
    static readonly attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
        format: string;
    }>;
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
        format: string;
    }[];
    constructor();
}
export declare namespace AccountHolder {
    enum StatusEnum {
        Active = "active",
        Closed = "closed",
        Suspended = "suspended"
    }
}
