export declare class TokenMandate {
    /**
    * The type of account identifier for the masked account number.
    */
    "accountIdType"?: string;
    /**
    * The billing amount (in minor units) of the recurring transactions.
    */
    "amount": string;
    /**
    * The limitation rule of the billing amount.  Possible values:  * **max**: The transaction amount can not exceed the `amount`.   * **exact**: The transaction amount should be the same as the `amount`.
    */
    "amountRule"?: TokenMandate.AmountRuleEnum;
    /**
    * The rule to specify the period, within which the recurring debit can happen, relative to the mandate recurring date.  Possible values:   * **on**: On a specific date.   * **before**:  Before and on a specific date.   * **after**: On and after a specific date.
    */
    "billingAttemptsRule"?: TokenMandate.BillingAttemptsRuleEnum;
    /**
    * The number of the day, on which the recurring debit can happen. Should be within the same calendar month as the mandate recurring date.  Possible values: 1-31 based on the `frequency`.
    */
    "billingDay"?: string;
    /**
    * The number of transactions that can be performed within the given frequency.
    */
    "count"?: string;
    /**
    * The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
    */
    "currency": string;
    /**
    * End date of the billing plan, in YYYY-MM-DD format.
    */
    "endsAt": string;
    /**
    * The frequency with which a shopper should be charged.  Possible values: **adhoc**, **daily**, **weekly**, **biWeekly**, **monthly**, **quarterly**, **halfYearly**, **yearly**.
    */
    "frequency": TokenMandate.FrequencyEnum;
    /**
    * The unique identifier of the mandate.
    */
    "mandateId": string;
    /**
    * The masked account number associated with the mandate.
    */
    "maskedAccountId"?: string;
    /**
    * For a billing plan where the payment amounts are variable, the minimum amount to charge the shopper for each recurring payment. When a shopper approves the billing plan, they can also specify a maximum amount in their banking app.
    */
    "minAmount"?: string;
    /**
    * The provider-specific identifier for this mandate.
    */
    "providerId": string;
    /**
    * For a billing plan where the payment amount is fixed, the amount the shopper will be charged for each recurring payment.
    */
    "recurringAmount"?: string;
    /**
    * The text that will be shown on the shopper\'s bank statement for the recurring payments. We recommend to add a descriptive text about the subscription to let your shoppers recognize your recurring payments. Maximum length: 35 characters.
    */
    "recurringStatement"?: string;
    /**
    * Additional remarks or notes about the mandate.
    */
    "remarks"?: string;
    /**
    * When set to true, you can retry for failed recurring payments. The default value is true.
    */
    "retryPolicy"?: TokenMandate.RetryPolicyEnum;
    /**
    * Start date of the billing plan, in YYYY-MM-DD format. By default, the transaction date.
    */
    "startsAt"?: string;
    /**
    * The status of the mandate. Examples : active, revoked, completed, expired
    */
    "status": string;
    /**
    * The transaction variant used for this mandate.
    */
    "txVariant": string;
    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 TokenMandate {
    enum AmountRuleEnum {
        Max = "max",
        Exact = "exact"
    }
    enum BillingAttemptsRuleEnum {
        On = "on",
        Before = "before",
        After = "after"
    }
    enum FrequencyEnum {
        Adhoc = "adhoc",
        Daily = "daily",
        Weekly = "weekly",
        BiWeekly = "biWeekly",
        Monthly = "monthly",
        Quarterly = "quarterly",
        HalfYearly = "halfYearly",
        Yearly = "yearly"
    }
    enum RetryPolicyEnum {
        True = "true",
        False = "false"
    }
}
