import { type AssetTypeResponse, type ConfigurationOptions, Fireblocks, type PublicKeyInformation, type TransactionResponse } from '@fireblocks/ts-sdk';
import type { Client } from 'openapi-fetch';
import { type FireblocksAssetId, FireblocksSigner } from './fireblocks_signer.js';
import type { components, paths } from './openapi/schema.js';
export type FireblocksIntegration = ({
    config?: never;
    instance: Fireblocks;
} | {
    config: ConfigurationOptions;
    instance?: never;
}) & {
    vaultId: `${number}`;
};
export declare class FireblocksService {
    client: Client<paths>;
    constructor(client: Client<paths>);
    /**
     * Retrieve a fireblocks SDK from a Fireblocks integration
     */
    getSdk(integration: FireblocksIntegration): Fireblocks;
    /**
     * Retrieve a fireblocks signer from a Fireblocks integration
     */
    getSigner(integration: FireblocksIntegration): FireblocksSigner;
    /**
     * Get fireblocks wallet pubkey compressed
     */
    getPubkey(integration: FireblocksIntegration, assetId: (string & {}) | FireblocksAssetId): Promise<PublicKeyInformation>;
    /**
     * List Fireblocks supported assets
     */
    getAssets(integration: FireblocksIntegration): Promise<AssetTypeResponse[]>;
    /**
     * Sign a Solana transaction on Fireblocks
     */
    signSolTx(integration: FireblocksIntegration, tx: components['schemas']['SOLStakeTx'], assetId: 'SOL_TEST' | 'SOL', note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['SOLPreparedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Create a Cardano transaction in Fireblocks without waiting for completion
     *
     * The payload must not contain an inputsSelection: it is only meaningful for
     * Fireblocks-built transfers (not RAW signing, where the tx is already built)
     * and the Fireblocks API rejects ADA RAW transactions carrying it with
     * HTTP 500 {"message":"Unexpected error","code":1404}.
     */
    createAdaTx(integration: FireblocksIntegration, tx: components['schemas']['ADAUnsignedTx'], note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a Cardano transaction to complete and prepare it for broadcast
     */
    waitForAdaTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['ADAUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['ADASignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a Cardano transaction on Fireblocks
     */
    signAdaTx(integration: FireblocksIntegration, tx: components['schemas']['ADAUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['ADASignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Create an ATOM transaction in Fireblocks without waiting for completion
     */
    createAtomTx(integration: FireblocksIntegration, tx: components['schemas']['ATOMUnsignedTx'] | components['schemas']['ATOMStakeUnsignedTx'], note?: string): Promise<TransactionResponse>;
    /**
     * Wait for an ATOM transaction to complete and prepare it for broadcast
     */
    waitForAtomTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['ATOMUnsignedTx'] | components['schemas']['ATOMStakeUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['ATOMSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign an ATOM transaction on Fireblocks (combines createAtomTx and waitForAtomTxCompletion)
     */
    signAtomTx(integration: FireblocksIntegration, tx: components['schemas']['ATOMUnsignedTx'] | components['schemas']['ATOMStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['ATOMSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a DYDX transaction on Fireblocks
     */
    /**
     * Create a DYDX transaction in Fireblocks without waiting for completion
     */
    createDydxTx(integration: FireblocksIntegration, tx: components['schemas']['DYDXUnsignedTx'] | components['schemas']['DYDXStakeUnsignedTx'], note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a DYDX transaction to complete and prepare it for broadcast
     */
    waitForDydxTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['DYDXUnsignedTx'] | components['schemas']['DYDXStakeUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['DYDXSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a DYDX transaction on Fireblocks (combines createDydxTx and waitForDydxTxCompletion)
     */
    signDydxTx(integration: FireblocksIntegration, tx: components['schemas']['DYDXUnsignedTx'] | components['schemas']['DYDXStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['DYDXSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a FET transaction on Fireblocks
     */
    /**
     * Create a FET transaction in Fireblocks without waiting for completion
     */
    createFetTx(integration: FireblocksIntegration, tx: components['schemas']['FETUnsignedTx'] | components['schemas']['FETStakeUnsignedTx'], note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a FET transaction to complete and prepare it for broadcast
     */
    waitForFetTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['FETUnsignedTx'] | components['schemas']['FETStakeUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['FETSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a FET transaction on Fireblocks (combines createFetTx and waitForFetTxCompletion)
     */
    signFetTx(integration: FireblocksIntegration, tx: components['schemas']['FETUnsignedTx'] | components['schemas']['FETStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['FETSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a INJ transaction on Fireblocks
     */
    /**
     * Create a INJ transaction in Fireblocks without waiting for completion
     */
    createInjTx(integration: FireblocksIntegration, tx: components['schemas']['INJUnsignedTx'] | components['schemas']['INJStakeUnsignedTx'], note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a INJ transaction to complete and prepare it for broadcast
     */
    waitForInjTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['INJUnsignedTx'] | components['schemas']['INJStakeUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['INJSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a INJ transaction on Fireblocks (combines createInjTx and waitForInjTxCompletion)
     */
    signInjTx(integration: FireblocksIntegration, tx: components['schemas']['INJUnsignedTx'] | components['schemas']['INJStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['INJSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a CRO transaction on Fireblocks
     */
    /**
     * Create a CRO transaction in Fireblocks without waiting for completion
     */
    createCroTx(integration: FireblocksIntegration, tx: components['schemas']['CROUnsignedTx'] | components['schemas']['CROStakeUnsignedTx'], note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a CRO transaction to complete and prepare it for broadcast
     */
    waitForCroTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['CROUnsignedTx'] | components['schemas']['CROStakeUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['CROSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a CRO transaction on Fireblocks (combines createCroTx and waitForCroTxCompletion)
     */
    signCroTx(integration: FireblocksIntegration, tx: components['schemas']['CROUnsignedTx'] | components['schemas']['CROStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['CROSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a NOBLE transaction on Fireblocks
     */
    /**
     * Create a NOBLE transaction in Fireblocks without waiting for completion
     */
    createNobleTx(integration: FireblocksIntegration, tx: components['schemas']['DYDXUnsignedTx'], note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a NOBLE transaction to complete and prepare it for broadcast
     */
    waitForNobleTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['DYDXUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['DYDXSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a NOBLE transaction on Fireblocks (combines createNobleTx and waitForNobleTxCompletion)
     */
    signNobleTx(integration: FireblocksIntegration, tx: components['schemas']['DYDXUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['DYDXSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a OSMO transaction on Fireblocks
     */
    /**
     * Create a OSMO transaction in Fireblocks without waiting for completion
     */
    createOsmoTx(integration: FireblocksIntegration, tx: components['schemas']['OSMOUnsignedTx'] | components['schemas']['OSMOStakeUnsignedTx'], note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a OSMO transaction to complete and prepare it for broadcast
     */
    waitForOsmoTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['OSMOUnsignedTx'] | components['schemas']['OSMOStakeUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['OSMOSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a OSMO transaction on Fireblocks (combines createOsmoTx and waitForOsmoTxCompletion)
     */
    signOsmoTx(integration: FireblocksIntegration, tx: components['schemas']['OSMOUnsignedTx'] | components['schemas']['OSMOStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['OSMOSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a TIA transaction on Fireblocks
     */
    /**
     * Create a TIA transaction in Fireblocks without waiting for completion
     */
    createTiaTx(integration: FireblocksIntegration, tx: components['schemas']['TIAUnsignedTx'] | components['schemas']['TIAStakeUnsignedTx'], note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a TIA transaction to complete and prepare it for broadcast
     */
    waitForTiaTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['TIAUnsignedTx'] | components['schemas']['TIAStakeUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['TIASignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a TIA transaction on Fireblocks (combines createTiaTx and waitForTiaTxCompletion)
     */
    signTiaTx(integration: FireblocksIntegration, tx: components['schemas']['TIAUnsignedTx'] | components['schemas']['TIAStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['TIASignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign an ETH transaction with given integration using Fireblocks raw signing
     */
    signEthTx(integration: FireblocksIntegration, tx: components['schemas']['ETHUnsignedTx'], assetId: 'ETH_TEST_HOODI' | 'ETH', note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['ETHSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign and broadcast an ETH transaction with given integration using Fireblocks contract call feature
     */
    signAndBroadcastEthTx(integration: FireblocksIntegration, tx: components['schemas']['ETHUnsignedTx'], assetId: 'ETH_TEST_HOODI' | 'ETH', fireblocksDestinationId: string, note?: string): Promise<TransactionResponse>;
    /**
     * Sign a POL transaction with given integration using Fireblocks raw signing
     */
    signPolTx(integration: FireblocksIntegration, tx: components['schemas']['POLUnsignedTx'], assetId: 'ETH_TEST5' | 'ETH', note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['POLSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign and broadcast a POL transaction with given integration using Fireblocks contract call feature
     */
    signAndBroadcastPolTx(integration: FireblocksIntegration, tx: components['schemas']['POLUnsignedTx'], assetId: 'ETH_TEST5' | 'ETH', fireblocksDestinationId: string, note?: string): Promise<TransactionResponse>;
    /**
     * Create a TON transaction in Fireblocks without waiting for completion
     */
    createTonTx(integration: FireblocksIntegration, tx: components['schemas']['TONTx'], assetId: 'TON_TEST' | 'TON', note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a TON transaction to complete and prepare it for broadcast
     */
    waitForTonTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['TONTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['TONPreparedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a TON transaction on Fireblocks
     */
    signTonTx(integration: FireblocksIntegration, tx: components['schemas']['TONTx'], assetId: 'TON_TEST' | 'TON', note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['TONPreparedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Create a XTZ transaction in Fireblocks without waiting for completion
     */
    createXtzTx(integration: FireblocksIntegration, tx: components['schemas']['XTZUnsignedTx'], note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a XTZ transaction to complete and prepare it for broadcast
     */
    waitForXtzTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['XTZUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['XTZSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a XTZ transaction on Fireblocks (combines createXtzTx and waitForXtzTxCompletion)
     */
    signXtzTx(integration: FireblocksIntegration, tx: components['schemas']['XTZUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['XTZSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Create a NEAR transaction in Fireblocks without waiting for completion
     */
    createNearTx(integration: FireblocksIntegration, tx: components['schemas']['NEARTx'], assetId: 'NEAR_TEST' | 'NEAR', note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a NEAR transaction to complete and prepare it for broadcast
     */
    waitForNearTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['NEARTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['NEARSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a NEAR transaction on Fireblocks (combines createNearTx and waitForNearTxCompletion)
     */
    signNearTx(integration: FireblocksIntegration, tx: components['schemas']['NEARTx'], assetId: 'NEAR_TEST' | 'NEAR', note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['NEARSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a Trx transaction on Fireblocks
     */
    createTrxTx(integration: FireblocksIntegration, tx: components['schemas']['TRXUnsignedTx'], note?: string): Promise<TransactionResponse>;
    waitForTrxTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['TRXUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['TRXPreparedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    signTrxTx(integration: FireblocksIntegration, tx: components['schemas']['TRXUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['TRXPreparedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a SEI transaction on Fireblocks
     */
    /**
     * Create a SEI transaction in Fireblocks without waiting for completion
     */
    createSeiTx(integration: FireblocksIntegration, tx: components['schemas']['SEIUnsignedTx'] | components['schemas']['SEIStakeUnsignedTx'], note?: string): Promise<TransactionResponse>;
    /**
     * Wait for a SEI transaction to complete and prepare it for broadcast
     */
    waitForSeiTxCompletion(integration: FireblocksIntegration, tx: components['schemas']['SEIUnsignedTx'] | components['schemas']['SEIStakeUnsignedTx'], fbTx: TransactionResponse): Promise<{
        signed_tx: {
            data: components['schemas']['SEISignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a SEI transaction on Fireblocks (combines createSeiTx and waitForSeiTxCompletion)
     */
    signSeiTx(integration: FireblocksIntegration, tx: components['schemas']['SEIUnsignedTx'] | components['schemas']['SEIStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['SEISignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    signSuiTx(integration: FireblocksIntegration, tx: components['schemas']['SUITx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['SUIBroadcastTxPayload'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
}
//# sourceMappingURL=fireblocks.d.ts.map