///
import type { SubjectInfo } from '@polkadot/ui-keyring/observable/types';
import type { AccountJson, MessageTypes, RequestAccountForget, RequestAccountShow, RequestTypes, ResponseType } from '../types';
import State from './State';
export declare function transformAccounts(accounts: SubjectInfo): AccountJson[];
export default class Extension {
#private;
constructor(state: State);
handle(id: string, type: TMessageType, request: RequestTypes[TMessageType], port: chrome.runtime.Port): Promise>;
private accountsCreateExternal;
private accountsCreateHardware;
private accountsCreateSuri;
private accountsChangePassword;
private accountsEdit;
private accountsExport;
private accountsBatchExport;
protected accountsForget({ address }: RequestAccountForget): boolean;
private refreshAccountPasswordCache;
protected accountsShow({ address, isShowing }: RequestAccountShow): boolean;
private accountsTie;
private accountsValidate;
protected accountsSubscribe(id: string, port: chrome.runtime.Port): boolean;
private authorizeApprove;
private getAuthList;
private authorizeReject;
private authorizeSubscribe;
private removeAuthorization;
private metadataApprove;
private metadataGet;
private metadataList;
private metadataReject;
private metadataSubscribe;
private jsonRestore;
private batchRestore;
private jsonGetAccountInfo;
private seedCreate;
private seedValidate;
private signingApprovePassword;
private signingApproveSignature;
private signingCancel;
private signingIsLocked;
private signingSubscribe;
private windowOpen;
private derive;
private derivationValidate;
private derivationCreate;
private toggleAuthorization;
}