import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Currency } from "./currency.js";
/**
 * The type of bank account.
 */
export declare const BankAccount1AccountType: {
    readonly BankAccount: "bank_account";
    readonly CreditCard: "credit_card";
    readonly Other: "other";
};
/**
 * The type of bank account.
 */
export type BankAccount1AccountType = ClosedEnum<typeof BankAccount1AccountType>;
export type BankAccount1 = {
    /**
     * The name of the bank or financial institution
     */
    bankName?: string | null | undefined;
    /**
     * The bank account number
     */
    accountNumber?: string | null | undefined;
    /**
     * The name of the bank account
     */
    accountName?: string | null | undefined;
    /**
     * The type of bank account.
     */
    accountType?: BankAccount1AccountType | null | undefined;
    /**
     * International Bank Account Number
     */
    iban?: string | null | undefined;
    /**
     * Bank Identifier Code / SWIFT Code
     */
    bic?: string | null | undefined;
    /**
     * Bank routing number (US)
     */
    routingNumber?: string | null | undefined;
    /**
     * Bank State Branch number (Australia/New Zealand)
     */
    bsbNumber?: string | null | undefined;
    /**
     * Bank branch identifier
     */
    branchIdentifier?: string | null | undefined;
    /**
     * Bank code assigned by central bank
     */
    bankCode?: string | null | undefined;
    /**
     * Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).
     */
    currency?: Currency | null | undefined;
    /**
     * Country code according to ISO 3166-1 alpha-2.
     */
    country?: string | null | undefined;
};
/** @internal */
export declare const BankAccount1AccountType$inboundSchema: z.ZodNativeEnum<typeof BankAccount1AccountType>;
/** @internal */
export declare const BankAccount1AccountType$outboundSchema: z.ZodNativeEnum<typeof BankAccount1AccountType>;
/** @internal */
export declare const BankAccount1$inboundSchema: z.ZodType<BankAccount1, z.ZodTypeDef, unknown>;
/** @internal */
export type BankAccount1$Outbound = {
    bank_name?: string | null | undefined;
    account_number?: string | null | undefined;
    account_name?: string | null | undefined;
    account_type?: string | null | undefined;
    iban?: string | null | undefined;
    bic?: string | null | undefined;
    routing_number?: string | null | undefined;
    bsb_number?: string | null | undefined;
    branch_identifier?: string | null | undefined;
    bank_code?: string | null | undefined;
    currency?: string | null | undefined;
    country?: string | null | undefined;
};
/** @internal */
export declare const BankAccount1$outboundSchema: z.ZodType<BankAccount1$Outbound, z.ZodTypeDef, BankAccount1>;
export declare function bankAccount1ToJSON(bankAccount1: BankAccount1): string;
export declare function bankAccount1FromJSON(jsonString: string): SafeParseResult<BankAccount1, SDKValidationError>;
//# sourceMappingURL=bankaccount1.d.ts.map