import type { BankAccountEnvironment } from './BankAccountEnvironment';
import type { BankAccount } from './BankAccount';
/**
 *
 * @export
 * @interface CurrencyBankAccount
 */
export interface CurrencyBankAccount {
    /**
     *
     * @type {BankAccount}
     * @memberof CurrencyBankAccount
     */
    bankAccount?: BankAccount;
    /**
     * The ID of the space this object belongs to.
     * @type {number}
     * @memberof CurrencyBankAccount
     */
    readonly linkedSpaceId?: number;
    /**
     *
     * @type {BankAccountEnvironment}
     * @memberof CurrencyBankAccount
     */
    environment?: BankAccountEnvironment;
    /**
     * The currency associated with the bank account.
     * @type {string}
     * @memberof CurrencyBankAccount
     */
    readonly currency?: string;
    /**
     * A unique identifier for the object.
     * @type {number}
     * @memberof CurrencyBankAccount
     */
    readonly id?: number;
    /**
     * The version is used for optimistic locking and incremented whenever the object is updated.
     * @type {number}
     * @memberof CurrencyBankAccount
     */
    readonly version?: number;
}
/**
 * Check if a given object implements the CurrencyBankAccount interface.
 */
export declare function instanceOfCurrencyBankAccount(value: object): value is CurrencyBankAccount;
export declare function CurrencyBankAccountFromJSON(json: any): CurrencyBankAccount;
export declare function CurrencyBankAccountFromJSONTyped(json: any, ignoreDiscriminator: boolean): CurrencyBankAccount;
export declare function CurrencyBankAccountToJSON(json: any): CurrencyBankAccount;
export declare function CurrencyBankAccountToJSONTyped(value?: Omit<CurrencyBankAccount, 'linkedSpaceId' | 'currency' | 'id' | 'version'> | null, ignoreDiscriminator?: boolean): any;
