import { ExtensionAdapter } from './extensionAdapter';
import { ExtensionNotification, ExtensionPermission, ExtensionRequestArgs, ExtensionResponse, ExtensionSentEncryptedMessage, ExtensionSigned } from './messaging';
import { ExtensionListener } from './extensionListener';
import { RequestPermissionArgs, RequestSignArgs } from './args';
import { RequestSendEncryptedMessageArgs } from './args/requestSendEncryptedMessageArgs';
export declare class BrowserExtensionAdapter implements ExtensionAdapter {
    private static send;
    private static assertResponse;
    assertWalletAvailable(): Promise<void>;
    onNotification(callback: (message: ExtensionNotification) => void): ExtensionListener;
    getCurrentPermission(): Promise<ExtensionPermission>;
    request(payload: ExtensionRequestArgs): Promise<ExtensionResponse>;
    requestPermission(args: RequestPermissionArgs): Promise<ExtensionPermission>;
    requestSign(args: RequestSignArgs): Promise<ExtensionSigned>;
    requestSendEncryptedMessage(args: RequestSendEncryptedMessageArgs): Promise<ExtensionSentEncryptedMessage>;
}
