///
import EventEmitter from 'events';
import { type LowlevelTransportSharedPlugin, type ProtocolType } from '@onekeyfe/hd-transport';
import { Device } from '../device/Device';
import DeviceConnector from '../device/DeviceConnector';
import type { ConnectSettings } from '../types';
import type { CoreMessage } from '../events';
import type { BaseMethod } from '../api/BaseMethod';
export type CoreContext = ReturnType;
export declare const callAPI: (context: CoreContext, message: CoreMessage) => Promise;
export declare function getPostCallPendingPromise(method: BaseMethod, device: Device): Promise;
export declare function isRetryableBleProtocolV2ProbeError(method: BaseMethod, error: unknown): boolean;
export declare function isRetryableBleConnectionError(method: BaseMethod, error: unknown): boolean;
export declare function isMissingDetectedProtocolV2Error(method: BaseMethod, error: unknown): boolean;
export declare function isTerminalBleStaleBondError(error: unknown): boolean;
export declare function isDeviceIdentityMismatchError(error: unknown): boolean;
export declare function resolveBleConnectProtocol(method: BaseMethod): ProtocolType | undefined;
export declare const cancel: (context: CoreContext, connectId?: string) => void;
export declare const onDeviceButtonHandler: (__0_0: Device, __0_1: import("../events").DeviceButtonRequestPayload) => void;
export default class Core extends EventEmitter {
private tracingContext;
readonly sdkInstanceId: string;
private requestQueue;
private disposePromise?;
private prePendingCallPromises;
private methodSynchronize;
constructor();
private getCoreContext;
handleMessage(message: CoreMessage): Promise;
dispose(): Promise;
private disposeResources;
}
export declare const initCore: () => Core;
export declare const initConnector: () => DeviceConnector;
export declare const init: (settings: ConnectSettings, Transport: any, plugin?: LowlevelTransportSharedPlugin) => Promise;
export declare const switchTransport: ({ env, Transport, plugin, }: {
env: ConnectSettings['env'];
Transport: any;
plugin?: LowlevelTransportSharedPlugin | undefined;
}) => void;
//# sourceMappingURL=index.d.ts.map