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 {
        okxwallet?: {
            tronLink: TronLinkWallet;
        };
    }
}
export interface OkxWalletAdapterConfig extends BaseAdapterConfig {
    /**
     * Timeout in millisecond for checking if OkxWallet wallet exists.
     * Default is 2 * 1000ms
     */
    checkTimeout?: number;
    /**
     * Set if open OkxWallet app using DeepLink.
     * Default is true.
     */
    openAppWithDeeplink?: boolean;
}
export declare const OkxWalletAdapterName: AdapterName<"OKX Wallet">;
export declare class OkxWalletAdapter extends Adapter {
    name: AdapterName<"OKX Wallet">;
    url: string;
    icon: string;
    config: Required<OkxWalletAdapterConfig>;
    private _readyState;
    private _state;
    private _connecting;
    private _wallet;
    private _address;
    constructor(config?: OkxWalletAdapterConfig);
    get address(): string | null;
    get state(): AdapterState;
    get readyState(): WalletReadyState;
    get connecting(): boolean;
    /**
     * Get network information used by OkxWallet.
     * @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 checkIfOpenOkxWallet;
    private _checkPromise;
    /**
     * check if wallet exists by interval, the promise only resolve when wallet detected or timeout
     * @returns if OkxWallet exists
     */
    private _checkWallet;
    private _updateWallet;
    private setAddress;
    private setState;
}
//# sourceMappingURL=adapter.d.ts.map