/**
 * 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 { EditGasStationConfigurationResponse } from '../models';
import { GasStationConfiguration } from '../models';
import { GasStationPropertiesResponse } from '../models';
/**
 * GasStationsApi - axios parameter creator
 * @export
 */
export declare const GasStationsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Returns gas station settings and balances for a requested asset. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Get gas station settings by asset
     * @param {string} assetId The ID of the asset
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getGasStationByAssetId: (assetId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns gas station settings and ETH balance. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Get gas station settings
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getGasStationInfo: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Configures gas station settings for ETH. Learn more about the Fireblocks Gas Station in the following [guide](https://developers.fireblocks.com/docs/work-with-gas-station). Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Edit gas station settings
     * @param {GasStationConfiguration} gasStationConfiguration
     * @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}
     */
    updateGasStationConfiguration: (gasStationConfiguration: GasStationConfiguration, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Configures gas station settings for a requested asset. Learn more about the Fireblocks Gas Station in the following [guide](https://developers.fireblocks.com/docs/work-with-gas-station). Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Edit gas station settings for an asset
     * @param {GasStationConfiguration} gasStationConfiguration
     * @param {string} assetId The ID of the asset
     * @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}
     */
    updateGasStationConfigurationByAssetId: (gasStationConfiguration: GasStationConfiguration, assetId: string, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * GasStationsApi - functional programming interface
 * @export
 */
export declare const GasStationsApiFp: (configuration?: Configuration) => {
    /**
     * Returns gas station settings and balances for a requested asset. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Get gas station settings by asset
     * @param {string} assetId The ID of the asset
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getGasStationByAssetId(assetId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GasStationPropertiesResponse>>;
    /**
     * Returns gas station settings and ETH balance. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Get gas station settings
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getGasStationInfo(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GasStationPropertiesResponse>>;
    /**
     * Configures gas station settings for ETH. Learn more about the Fireblocks Gas Station in the following [guide](https://developers.fireblocks.com/docs/work-with-gas-station). Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Edit gas station settings
     * @param {GasStationConfiguration} gasStationConfiguration
     * @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}
     */
    updateGasStationConfiguration(gasStationConfiguration: GasStationConfiguration, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EditGasStationConfigurationResponse>>;
    /**
     * Configures gas station settings for a requested asset. Learn more about the Fireblocks Gas Station in the following [guide](https://developers.fireblocks.com/docs/work-with-gas-station). Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Edit gas station settings for an asset
     * @param {GasStationConfiguration} gasStationConfiguration
     * @param {string} assetId The ID of the asset
     * @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}
     */
    updateGasStationConfigurationByAssetId(gasStationConfiguration: GasStationConfiguration, assetId: string, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EditGasStationConfigurationResponse>>;
};
/**
 * GasStationsApi - factory interface
 * @export
 */
export declare const GasStationsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Returns gas station settings and balances for a requested asset. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Get gas station settings by asset
     * @param {GasStationsApiGetGasStationByAssetIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getGasStationByAssetId(requestParameters: GasStationsApiGetGasStationByAssetIdRequest, options?: RawAxiosRequestConfig): AxiosPromise<GasStationPropertiesResponse>;
    /**
     * Returns gas station settings and ETH balance. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Get gas station settings
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getGasStationInfo(options?: RawAxiosRequestConfig): AxiosPromise<GasStationPropertiesResponse>;
    /**
     * Configures gas station settings for ETH. Learn more about the Fireblocks Gas Station in the following [guide](https://developers.fireblocks.com/docs/work-with-gas-station). Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Edit gas station settings
     * @param {GasStationsApiUpdateGasStationConfigurationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateGasStationConfiguration(requestParameters: GasStationsApiUpdateGasStationConfigurationRequest, options?: RawAxiosRequestConfig): AxiosPromise<EditGasStationConfigurationResponse>;
    /**
     * Configures gas station settings for a requested asset. Learn more about the Fireblocks Gas Station in the following [guide](https://developers.fireblocks.com/docs/work-with-gas-station). Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Edit gas station settings for an asset
     * @param {GasStationsApiUpdateGasStationConfigurationByAssetIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateGasStationConfigurationByAssetId(requestParameters: GasStationsApiUpdateGasStationConfigurationByAssetIdRequest, options?: RawAxiosRequestConfig): AxiosPromise<EditGasStationConfigurationResponse>;
};
/**
 * Request parameters for getGasStationByAssetId operation in GasStationsApi.
 * @export
 * @interface GasStationsApiGetGasStationByAssetIdRequest
 */
export interface GasStationsApiGetGasStationByAssetIdRequest {
    /**
     * The ID of the asset
     * @type {string}
     * @memberof GasStationsApiGetGasStationByAssetId
     */
    readonly assetId: string;
}
/**
 * Request parameters for updateGasStationConfiguration operation in GasStationsApi.
 * @export
 * @interface GasStationsApiUpdateGasStationConfigurationRequest
 */
export interface GasStationsApiUpdateGasStationConfigurationRequest {
    /**
     *
     * @type {GasStationConfiguration}
     * @memberof GasStationsApiUpdateGasStationConfiguration
     */
    readonly gasStationConfiguration: GasStationConfiguration;
    /**
     * 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 GasStationsApiUpdateGasStationConfiguration
     */
    readonly idempotencyKey?: string;
}
/**
 * Request parameters for updateGasStationConfigurationByAssetId operation in GasStationsApi.
 * @export
 * @interface GasStationsApiUpdateGasStationConfigurationByAssetIdRequest
 */
export interface GasStationsApiUpdateGasStationConfigurationByAssetIdRequest {
    /**
     *
     * @type {GasStationConfiguration}
     * @memberof GasStationsApiUpdateGasStationConfigurationByAssetId
     */
    readonly gasStationConfiguration: GasStationConfiguration;
    /**
     * The ID of the asset
     * @type {string}
     * @memberof GasStationsApiUpdateGasStationConfigurationByAssetId
     */
    readonly assetId: string;
    /**
     * 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 GasStationsApiUpdateGasStationConfigurationByAssetId
     */
    readonly idempotencyKey?: string;
}
/**
 * GasStationsApi - object-oriented interface
 * @export
 * @class GasStationsApi
 * @extends {BaseAPI}
 */
export declare class GasStationsApi extends BaseAPI {
    /**
     * Returns gas station settings and balances for a requested asset. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Get gas station settings by asset
     * @param {GasStationsApiGetGasStationByAssetIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GasStationsApi
     */
    getGasStationByAssetId(requestParameters: GasStationsApiGetGasStationByAssetIdRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<GasStationPropertiesResponse>>;
    /**
     * Returns gas station settings and ETH balance. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Get gas station settings
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GasStationsApi
     */
    getGasStationInfo(): Promise<import("../response/fireblocksResponse").FireblocksResponse<GasStationPropertiesResponse>>;
    /**
     * Configures gas station settings for ETH. Learn more about the Fireblocks Gas Station in the following [guide](https://developers.fireblocks.com/docs/work-with-gas-station). Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Edit gas station settings
     * @param {GasStationsApiUpdateGasStationConfigurationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GasStationsApi
     */
    updateGasStationConfiguration(requestParameters: GasStationsApiUpdateGasStationConfigurationRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<EditGasStationConfigurationResponse>>;
    /**
     * Configures gas station settings for a requested asset. Learn more about the Fireblocks Gas Station in the following [guide](https://developers.fireblocks.com/docs/work-with-gas-station). Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary Edit gas station settings for an asset
     * @param {GasStationsApiUpdateGasStationConfigurationByAssetIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GasStationsApi
     */
    updateGasStationConfigurationByAssetId(requestParameters: GasStationsApiUpdateGasStationConfigurationByAssetIdRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<EditGasStationConfigurationResponse>>;
}
