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;
    }>;
    /**
     * 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;
    }>;
    /**
     * Sign a ATOM transaction on Fireblocks
     */
    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
     */
    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
     */
    signFetTx(integration: FireblocksIntegration, tx: components['schemas']['FETUnsignedTx'] | components['schemas']['FETStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['FETSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a OM transaction on Fireblocks
     */
    signOmTx(integration: FireblocksIntegration, tx: components['schemas']['OMUnsignedTx'] | components['schemas']['OMStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['OMSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a INJ transaction on Fireblocks
     */
    signInjTx(integration: FireblocksIntegration, tx: components['schemas']['INJUnsignedTx'] | components['schemas']['INJStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['INJSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a KAVA transaction on Fireblocks
     */
    signKavaTx(integration: FireblocksIntegration, tx: components['schemas']['KAVAUnsignedTx'] | components['schemas']['KAVAStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['KAVASignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a CRO transaction on Fireblocks
     */
    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
     */
    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
     */
    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
     */
    signTiaTx(integration: FireblocksIntegration, tx: components['schemas']['TIAUnsignedTx'] | components['schemas']['TIAStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['TIASignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a ZETA transaction on Fireblocks
     */
    signZetaTx(integration: FireblocksIntegration, tx: components['schemas']['ZETAUnsignedTx'] | components['schemas']['ZETAStakeUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['ZETASignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a DOT transaction on Fireblocks
     */
    signDotTx(integration: FireblocksIntegration, tx: components['schemas']['DOTUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['DOTSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a KSM transaction on Fireblocks
     */
    signKsmTx(integration: FireblocksIntegration, tx: components['schemas']['KSMUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['KSMSignedTx'];
        };
        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>;
    /**
     * 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;
    }>;
    /**
     * Sign a XTZ transaction on Fireblocks
     */
    signXtzTx(integration: FireblocksIntegration, tx: components['schemas']['XTZUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['XTZSignedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
    /**
     * Sign a Near transaction on Fireblocks
     */
    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
     */
    signTrxTx(integration: FireblocksIntegration, tx: components['schemas']['TRXUnsignedTx'], note?: string): Promise<{
        signed_tx: {
            data: components['schemas']['TRXPreparedTx'];
        };
        fireblocks_tx: TransactionResponse;
    }>;
}
//# sourceMappingURL=fireblocks.d.ts.map