import type { ConnectSettings, CoreApi, EVMGetPublicKeyParams, EVMSignedTx, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, Params, Unsuccessful } from '@onekeyfe/hd-core';
import type { EthereumMessageSignature } from '@onekeyfe/hd-transport';
import { OneKeyBridge } from './onekey-bridge';
export declare type OneKeyIframeBridgeOptions = {
    bridgeUrl: string;
};
export declare class OneKeyWebBridge implements OneKeyBridge {
    isSDKInitialized: boolean;
    sdk: CoreApi | undefined;
    eventListeners: Map<string, (event: any) => void>;
    constructor();
    model?: string | undefined;
    on(_event: string, callback: (event: any) => void): void;
    off(_event: string): void;
    handleBlockErrorEvent(payload: Unsuccessful): void;
    updateTransportMethod(transportType: ConnectSettings['env']): Promise<void>;
    init(): Promise<void>;
    destroy(): Promise<void>;
    dispose(): Promise<void>;
    getModel(): string | undefined;
    getPublicKey(params: {
        path: string;
        coin: string;
    }): Promise<{
        success: false;
        payload: {
            error: string;
            code?: string | number;
        };
    } | {
        success: true;
        payload: {
            publicKey: string;
            chainCode: string;
        };
    }>;
    batchGetPublicKey(params: Params<any> & {
        bundle: EVMGetPublicKeyParams[];
    }): Promise<{
        success: false;
        payload: {
            error: string;
            code?: string | number;
        };
    } | {
        success: true;
        payload: {
            pub: string;
        }[];
    }>;
    getPassphraseState(): Promise<{
        success: false;
        payload: {
            error: string;
            code?: string | number;
        };
    } | {
        success: true;
        payload: string | undefined;
    }>;
    ethereumSignTransaction(params: Params<EVMSignTransactionParams>): Promise<{
        success: false;
        payload: {
            error: string;
            code?: string | number;
        };
    } | {
        success: true;
        payload: EVMSignedTx;
    }>;
    ethereumSignMessage(params: Params<EVMSignMessageParams>): Promise<{
        success: false;
        payload: {
            error: string;
            code?: string | number;
        };
    } | {
        success: true;
        payload: EthereumMessageSignature;
    }>;
    ethereumSignTypedData(params: Params<EVMSignTypedDataParams>): Promise<{
        success: false;
        payload: {
            error: string;
            code?: string | number;
        };
    } | {
        success: true;
        payload: EthereumMessageSignature;
    }>;
}
