/**
 * AdvancedBilling
 *
 * This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { Schema } from '../schema.js';
import { BankAccountHolderType } from './bankAccountHolderType.js';
import { BankAccountType } from './bankAccountType.js';
import { BankAccountVault } from './bankAccountVault.js';
import { PaymentType } from './paymentType.js';
export interface BankAccountPaymentProfile {
    /** The Chargify-assigned ID of the stored bank account. This value can be used as an input to payment_profile_id when creating a subscription, in order to re-use a stored payment profile for the same customer */
    id?: number;
    /** The first name of the bank account holder */
    firstName?: string;
    /** The last name of the bank account holder */
    lastName?: string;
    /** The Chargify-assigned id for the customer record to which the bank account belongs */
    customerId?: number;
    /** The vault that stores the payment profile with the provided vault_token. Use `bogus` for testing. */
    currentVault?: BankAccountVault;
    /** The "token" provided by your vault storage for an already stored payment profile */
    vaultToken?: string;
    /** The current billing street address for the bank account */
    billingAddress?: string | null;
    /** The current billing address city for the bank account */
    billingCity?: string | null;
    /** The current billing address state for the bank account */
    billingState?: string | null;
    /** The current billing address zip code for the bank account */
    billingZip?: string | null;
    /** The current billing address country for the bank account */
    billingCountry?: string | null;
    /** (only for Authorize.Net CIM storage): the customerProfileId for the owner of the customerPaymentProfileId provided as the vault_token. */
    customerVaultToken?: string | null;
    /** The current billing street address, second line, for the bank account */
    billingAddress2?: string | null;
    /** The bank where the account resides */
    bankName?: string;
    /** A string representation of the stored bank routing number with all but the last 4 digits marked with X's (i.e. 'XXXXXXX1111'). payment_type will be bank_account */
    maskedBankRoutingNumber?: string | null;
    /** A string representation of the stored bank account number with all but the last 4 digits marked with X's (i.e. 'XXXXXXX1111') */
    maskedBankAccountNumber?: string | null;
    /** Defaults to checking */
    bankAccountType?: BankAccountType;
    /** Defaults to personal */
    bankAccountHolderType?: BankAccountHolderType;
    paymentType: PaymentType;
    /** denotes whether a bank account has been verified by providing the amounts of two small deposits made into the account */
    verified?: boolean;
    siteGatewaySettingId?: number | null;
    gatewayHandle?: string | null;
    /** A timestamp indicating when this payment profile was created */
    createdAt?: string;
    /** A timestamp indicating when this payment profile was last updated */
    updatedAt?: string;
    [key: string]: unknown;
}
export declare const bankAccountPaymentProfileSchema: Schema<BankAccountPaymentProfile>;
//# sourceMappingURL=bankAccountPaymentProfile.d.ts.map