/**
 * Fireblocks API
 * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
 *
 * The version of the OpenAPI document: 1.6.2
 * Contact: developers@fireblocks.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { RequestArgs, BaseAPI } from '../base';
import { DepositFundsFromLinkedDDAResponse } from '../models';
import { FiatAccount } from '../models';
import { Funds } from '../models';
import { GetFiatAccountsResponse } from '../models';
import { RedeemFundsToLinkedDDAResponse } from '../models';
/**
 * FiatAccountsApi - axios parameter creator
 * @export
 */
export declare const FiatAccountsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Deposits funds from the linked DDA.
     * @summary Deposit funds from DDA
     * @param {string} accountId The ID of the fiat account to use
     * @param {Funds} [funds]
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    depositFundsFromLinkedDDA: (accountId: string, funds?: Funds, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a fiat account by ID. Endpoint Permission: Admin, Non-Signing Admin.
     * @summary Find a specific fiat account
     * @param {string} accountId The ID of the fiat account to return
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFiatAccount: (accountId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns all fiat accounts. Endpoint Permission: Admin, Non-Signing Admin.
     * @summary List fiat accounts
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFiatAccounts: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Redeems funds to the linked DDA.
     * @summary Redeem funds to DDA
     * @param {string} accountId The ID of the fiat account to use
     * @param {Funds} [funds]
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    redeemFundsToLinkedDDA: (accountId: string, funds?: Funds, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * FiatAccountsApi - functional programming interface
 * @export
 */
export declare const FiatAccountsApiFp: (configuration?: Configuration) => {
    /**
     * Deposits funds from the linked DDA.
     * @summary Deposit funds from DDA
     * @param {string} accountId The ID of the fiat account to use
     * @param {Funds} [funds]
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    depositFundsFromLinkedDDA(accountId: string, funds?: Funds, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DepositFundsFromLinkedDDAResponse>>;
    /**
     * Returns a fiat account by ID. Endpoint Permission: Admin, Non-Signing Admin.
     * @summary Find a specific fiat account
     * @param {string} accountId The ID of the fiat account to return
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFiatAccount(accountId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FiatAccount>>;
    /**
     * Returns all fiat accounts. Endpoint Permission: Admin, Non-Signing Admin.
     * @summary List fiat accounts
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFiatAccounts(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetFiatAccountsResponse>>;
    /**
     * Redeems funds to the linked DDA.
     * @summary Redeem funds to DDA
     * @param {string} accountId The ID of the fiat account to use
     * @param {Funds} [funds]
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    redeemFundsToLinkedDDA(accountId: string, funds?: Funds, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RedeemFundsToLinkedDDAResponse>>;
};
/**
 * FiatAccountsApi - factory interface
 * @export
 */
export declare const FiatAccountsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Deposits funds from the linked DDA.
     * @summary Deposit funds from DDA
     * @param {FiatAccountsApiDepositFundsFromLinkedDDARequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    depositFundsFromLinkedDDA(requestParameters: FiatAccountsApiDepositFundsFromLinkedDDARequest, options?: RawAxiosRequestConfig): AxiosPromise<DepositFundsFromLinkedDDAResponse>;
    /**
     * Returns a fiat account by ID. Endpoint Permission: Admin, Non-Signing Admin.
     * @summary Find a specific fiat account
     * @param {FiatAccountsApiGetFiatAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFiatAccount(requestParameters: FiatAccountsApiGetFiatAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<FiatAccount>;
    /**
     * Returns all fiat accounts. Endpoint Permission: Admin, Non-Signing Admin.
     * @summary List fiat accounts
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFiatAccounts(options?: RawAxiosRequestConfig): AxiosPromise<GetFiatAccountsResponse>;
    /**
     * Redeems funds to the linked DDA.
     * @summary Redeem funds to DDA
     * @param {FiatAccountsApiRedeemFundsToLinkedDDARequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    redeemFundsToLinkedDDA(requestParameters: FiatAccountsApiRedeemFundsToLinkedDDARequest, options?: RawAxiosRequestConfig): AxiosPromise<RedeemFundsToLinkedDDAResponse>;
};
/**
 * Request parameters for depositFundsFromLinkedDDA operation in FiatAccountsApi.
 * @export
 * @interface FiatAccountsApiDepositFundsFromLinkedDDARequest
 */
export interface FiatAccountsApiDepositFundsFromLinkedDDARequest {
    /**
     * The ID of the fiat account to use
     * @type {string}
     * @memberof FiatAccountsApiDepositFundsFromLinkedDDA
     */
    readonly accountId: string;
    /**
     *
     * @type {Funds}
     * @memberof FiatAccountsApiDepositFundsFromLinkedDDA
     */
    readonly funds?: Funds;
    /**
     * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @type {string}
     * @memberof FiatAccountsApiDepositFundsFromLinkedDDA
     */
    readonly idempotencyKey?: string;
}
/**
 * Request parameters for getFiatAccount operation in FiatAccountsApi.
 * @export
 * @interface FiatAccountsApiGetFiatAccountRequest
 */
export interface FiatAccountsApiGetFiatAccountRequest {
    /**
     * The ID of the fiat account to return
     * @type {string}
     * @memberof FiatAccountsApiGetFiatAccount
     */
    readonly accountId: string;
}
/**
 * Request parameters for redeemFundsToLinkedDDA operation in FiatAccountsApi.
 * @export
 * @interface FiatAccountsApiRedeemFundsToLinkedDDARequest
 */
export interface FiatAccountsApiRedeemFundsToLinkedDDARequest {
    /**
     * The ID of the fiat account to use
     * @type {string}
     * @memberof FiatAccountsApiRedeemFundsToLinkedDDA
     */
    readonly accountId: string;
    /**
     *
     * @type {Funds}
     * @memberof FiatAccountsApiRedeemFundsToLinkedDDA
     */
    readonly funds?: Funds;
    /**
     * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @type {string}
     * @memberof FiatAccountsApiRedeemFundsToLinkedDDA
     */
    readonly idempotencyKey?: string;
}
/**
 * FiatAccountsApi - object-oriented interface
 * @export
 * @class FiatAccountsApi
 * @extends {BaseAPI}
 */
export declare class FiatAccountsApi extends BaseAPI {
    /**
     * Deposits funds from the linked DDA.
     * @summary Deposit funds from DDA
     * @param {FiatAccountsApiDepositFundsFromLinkedDDARequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FiatAccountsApi
     */
    depositFundsFromLinkedDDA(requestParameters: FiatAccountsApiDepositFundsFromLinkedDDARequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<DepositFundsFromLinkedDDAResponse>>;
    /**
     * Returns a fiat account by ID. Endpoint Permission: Admin, Non-Signing Admin.
     * @summary Find a specific fiat account
     * @param {FiatAccountsApiGetFiatAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FiatAccountsApi
     */
    getFiatAccount(requestParameters: FiatAccountsApiGetFiatAccountRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<FiatAccount>>;
    /**
     * Returns all fiat accounts. Endpoint Permission: Admin, Non-Signing Admin.
     * @summary List fiat accounts
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FiatAccountsApi
     */
    getFiatAccounts(): Promise<import("../response/fireblocksResponse").FireblocksResponse<GetFiatAccountsResponse>>;
    /**
     * Redeems funds to the linked DDA.
     * @summary Redeem funds to DDA
     * @param {FiatAccountsApiRedeemFundsToLinkedDDARequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FiatAccountsApi
     */
    redeemFundsToLinkedDDA(requestParameters: FiatAccountsApiRedeemFundsToLinkedDDARequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<RedeemFundsToLinkedDDAResponse>>;
}
