///
import type { KeyringPair } from '@subwallet/keyring/types';
import type { SignerPayloadJSON, SignerPayloadRaw } from '@polkadot/types/types';
import type { KeypairType } from '@polkadot/util-crypto/types';
import type { MessageTypes, RequestTypes, ResponseType } from '../types';
import State from './State';
declare type CachedUnlocks = Record;
export declare const SEED_DEFAULT_LENGTH = 12;
export declare const SEED_LENGTHS: number[];
export declare const ETH_DERIVE_DEFAULT = "/m/44'/60'/0'/0/0";
export declare function getSuri(seed: string, type?: KeypairType): string;
export declare function isJsonPayload(value: SignerPayloadJSON | SignerPayloadRaw): value is SignerPayloadJSON;
export default class Extension {
#private;
protected readonly cachedUnlocks: CachedUnlocks;
constructor(state: State);
private accountsCreateExternal;
private accountsCreateHardware;
private accountsCreateSuri;
private accountsChangePassword;
private accountsEdit;
private accountsExport;
private accountsForget;
protected refreshAccountPasswordCache(pair: KeyringPair): number;
private accountsShow;
private accountsTie;
private accountsValidate;
private accountsSubscribe;
private authorizeApprove;
private getAuthList;
private authorizeReject;
private authorizeSubscribe;
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;
handle(id: string, type: TMessageType, request: RequestTypes[TMessageType], port: chrome.runtime.Port): Promise>;
}
export {};