import { Adapter, AdapterState, WalletReadyState } from '@tronweb3/tronwallet-abstract-adapter';
import type { Tron, TronLinkWallet } from '@tronweb3/tronwallet-adapter-tronlink';
import type { Transaction, SignedTransaction, AdapterName, BaseAdapterConfig, Network, TronWeb } from '@tronweb3/tronwallet-abstract-adapter';
declare global {
    interface Window {
        bitkeep: {
            tron: Tron;
            tronLink: TronLinkWallet;
            tronWeb: TronWeb;
        };
    }
}
export interface BitKeepAdapterConfig extends BaseAdapterConfig {
    /**
     * Timeout in millisecond for checking if Bitget Wallet is supported.
     * Default is 2 * 1000ms
     */
    checkTimeout?: number;
    /**
     * Set if open Wallet's website url when wallet is not installed.
     * Default is true.
     */
    openUrlWhenWalletNotFound?: boolean;
    /**
     * Set if open Bitget Wallet app using DeepLink.
     * Default is true.
     */
    openAppWithDeeplink?: boolean;
}
export declare const BitgetWalletAdapterName: AdapterName<"Bitget Wallet">;
export declare class BitKeepAdapter extends Adapter {
    name: AdapterName<"Bitget Wallet">;
    url: string;
    icon: string;
    config: Required<BitKeepAdapterConfig>;
    private _readyState;
    private _state;
    private _connecting;
    private _wallet;
    private _address;
    constructor(config?: BitKeepAdapterConfig);
    get address(): string | null;
    get state(): AdapterState;
    get readyState(): WalletReadyState;
    get connecting(): boolean;
    /**
     * Get network information.
     * @returns {Network} Current network information.
     */
    network(): Promise<Network>;
    connect(): Promise<void>;
    disconnect(): Promise<void>;
    signTransaction(transaction: Transaction): Promise<SignedTransaction>;
    multiSign(transaction: Transaction, options?: {
        permissionId?: number;
    }): Promise<SignedTransaction>;
    signMessage(message: string): Promise<string>;
    private checkAndGetWallet;
    private checkReadyInterval;
    private checkForWalletReady;
    private _checkPromise;
    /**
     * check if wallet exists by interval, the promise only resolve when wallet detected or timeout
     * @returns if wallet exists
     */
    private _checkWallet;
    private checkIfOpenApp;
    private _updateWallet;
    private setAddress;
    private setState;
}
//# sourceMappingURL=adapter.d.ts.map