import { Adapter, AdapterState, WalletReadyState } from '@tronweb3/tronwallet-abstract-adapter';
import type { Transaction, SignedTransaction, AdapterName, BaseAdapterConfig, Network } from '@tronweb3/tronwallet-abstract-adapter';
import type { TronLinkWallet } from '@tronweb3/tronwallet-adapter-tronlink';
declare global {
    interface Window {
        bybitWallet?: {
            tronLink: TronLinkWallet;
        };
    }
}
export interface BybitWalletAdapterConfig extends BaseAdapterConfig {
    /**
     * Timeout in millisecond for checking if BybitWallet wallet exists.
     * Default is 2 * 1000ms
     */
    checkTimeout?: number;
    /**
     * Set if open BybitWallet app using DeepLink.
     * Default is true.
     */
    openAppWithDeeplink?: boolean;
}
export declare const BybitWalletAdapterName: AdapterName<"Bybit Wallet">;
export declare class BybitWalletAdapter extends Adapter {
    name: AdapterName<"Bybit Wallet">;
    url: string;
    icon: string;
    config: Required<BybitWalletAdapterConfig>;
    private _readyState;
    private _state;
    private _connecting;
    private _wallet;
    private _address;
    constructor(config?: BybitWalletAdapterConfig);
    get address(): string | null;
    get state(): AdapterState;
    get readyState(): WalletReadyState;
    get connecting(): boolean;
    /**
     * Get network information used by BybitWallet.
     * @returns {Network} Current network information.
     */
    network(): Promise<Network>;
    connect(): Promise<void>;
    disconnect(): Promise<void>;
    signTransaction(transaction: Transaction, privateKey?: string): Promise<SignedTransaction>;
    multiSign(transaction: Transaction, privateKey?: string | false, permissionId?: number): Promise<SignedTransaction>;
    signMessage(message: string, privateKey?: string): Promise<string>;
    private checkAndGetWallet;
    private _listenEvent;
    private _stopListenEvent;
    private messageHandler;
    private checkIfOpenBybitWallet;
    private _checkPromise;
    /**
     * check if wallet exists by interval, the promise only resolve when wallet detected or timeout
     * @returns if BybitWallet exists
     */
    private _checkWallet;
    private _updateWallet;
    private setAddress;
    private setState;
}
//# sourceMappingURL=adapter.d.ts.map