import { FireblocksProviderConfig, RequestArguments } from "./types";
declare const HttpProvider: any;
export declare class FireblocksWeb3Provider extends HttpProvider {
    private fireblocksApiClient;
    private config;
    private headers;
    private accounts;
    private vaultAccountIds?;
    private assetId?;
    private chainId?;
    private feeLevel;
    private note;
    private externalTxId;
    private gaslessGasTankVaultId?;
    private gaslessGasTankVaultAddress;
    private accountsPopulatedPromise;
    private pollingInterval;
    private oneTimeAddressesEnabled;
    private whitelisted;
    private whitelistedPopulatedPromise;
    private assetAndChainIdPopulatedPromise;
    private gaslessGasTankAddressPopulatedPromise;
    private requestCounter;
    constructor(config: FireblocksProviderConfig);
    private parsePrivateKey;
    private populateGaslessGasTankAddress;
    private parseVaultAccountIds;
    private getUserAgent;
    private getVaultAccounts;
    private populateAssetAndChainId;
    private populateAccounts;
    private createFireblocksError;
    private getWhitelistedWallets;
    private populateWhitelisted;
    private initialized;
    send(payload: any, callback: (error: any, response: any) => void): void;
    private createTenderlySimulationLink;
    private createError;
    sendAsync(payload: any, callback: (error: any, response: any) => void): void;
    request(args: RequestArguments): Promise<any>;
    private getDestination;
    private getVaultAccountIdAndValidateExistence;
    private createGaslessTransaction;
    private createContractCall;
    private createPersonalSign;
    private createTransaction;
    private getVaultAccountId;
    setExternalTxId(externalTxId: (() => string) | string | undefined): void;
    private toAxiosProxyConfig;
}
export {};
//# sourceMappingURL=provider.d.ts.map