import { Amount } from "./amount";
import { CashOutInfoCounterparty } from "./cashOutInfoCounterparty";
import { CashOutTransfer } from "./cashOutTransfer";
import { Fee } from "./fee";
export declare class CashOut {
    "amount": Amount;
    "counterparty"?: CashOutInfoCounterparty | null;
    /**
    * Allowed and returned only when you provide the `counterparty.transferInstrumentId` field.  Your description of the cashout transfer. This description is used by most banks as the transfer description. We recommend sending a maximum of 140 characters, otherwise the description may be truncated.  If you do not provide a description, Adyen generates a description automatically. This generated description is not returned in the response.  Supported characters: **[a-z] [A-Z] [0-9] / - ? : ( ) . , \' + Space**.
    */
    "description"?: string;
    "fee"?: Fee | null;
    /**
    * The unique identifier of the cashout reference.
    */
    "id": string;
    /**
    * The unique identifier of the balance account that initiates the cashout request.
    */
    "instructingBalanceAccountId": string;
    /**
    * Allowed and returned only when you provide the `counterparty.transferInstrumentId` field.  The reference that is sent to the recipient of a cashout transfer. This reference is also sent in all webhooks related to the cashout transfer, so you can use it to track the status of the transfer.  If you do not provide a reference for the beneficiary, Adyen generates one automatically. This generated reference for the beneficiary is not returned in the response.  Supported characters: **a-z**, **A-Z**, **0-9**.
    */
    "referenceForBeneficiary"?: string;
    /**
    * **Use `counterparty.transferInstrumentId` instead.**  The unique identifier of the counterparty transfer instrument.
    *
    * @deprecated
    */
    "transferInstrumentId"?: string;
    /**
    * The list of transfers related to cashout.
    */
    "transfers": Array<CashOutTransfer>;
    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();
}
