import { RequestBehavior } from './RequestBehavior';
import { KeyguardCommand } from './KeyguardCommand';
export declare class KeyguardClient {
    private static readonly DEFAULT_ENDPOINT;
    private readonly _endpoint;
    private _redirectClient;
    private _observable;
    private _defaultBehavior;
    private _defaultIframeBehavior;
    constructor(endpoint?: string, defaultBehavior?: RequestBehavior, defaultIframeBehavior?: RequestBehavior);
    init(): Promise<void>;
    on(command: KeyguardCommand, resolve: (...args: any[]) => any, reject: (...args: any[]) => any): void;
    create(request: KeyguardRequests.CreateRequest, requestBehavior?: RequestBehavior): Promise<KeyguardRequests.CreateResult>;
    remove(request: KeyguardRequests.SimpleRequest, requestBehavior?: RequestBehavior): Promise<KeyguardRequests.SimpleResult>;
    import(request: KeyguardRequests.ImportRequest, requestBehavior?: RequestBehavior): Promise<KeyguardRequests.ImportResult>;
    exportWords(request: KeyguardRequests.SimpleRequest, requestBehavior?: RequestBehavior): Promise<KeyguardRequests.SimpleResult>;
    exportFile(request: KeyguardRequests.SimpleRequest, requestBehavior?: RequestBehavior): Promise<KeyguardRequests.SimpleResult>;
    export(request: KeyguardRequests.SimpleRequest, requestBehavior?: RequestBehavior): Promise<KeyguardRequests.SimpleResult>;
    changePassphrase(request: KeyguardRequests.SimpleRequest, requestBehavior?: RequestBehavior): Promise<KeyguardRequests.SimpleResult>;
    signTransaction(request: KeyguardRequests.SignTransactionRequest, requestBehavior?: RequestBehavior): Promise<KeyguardRequests.SignTransactionResult>;
    signMessage(request: KeyguardRequests.SignMessageRequest, requestBehavior?: RequestBehavior): Promise<KeyguardRequests.SignMessageResult>;
    deriveAddress(request: KeyguardRequests.DeriveAddressRequest, requestBehavior?: RequestBehavior): Promise<KeyguardRequests.DeriveAddressResult>;
    list(listFromLegacyStore?: boolean, requestBehavior?: RequestBehavior): Promise<KeyguardRequests.KeyInfoObject[] | KeyguardRequests.KeyInfoObject[]>;
    migrateAccountsToKeys(requestBehavior?: RequestBehavior): Promise<void>;
    deriveAddresses(keyId: string, paths: string[], requestBehavior?: RequestBehavior): Promise<Uint8Array[]>;
    releaseKey(keyId: string, requestBehavior?: RequestBehavior): Promise<true>;
    private _request;
    private _onReject;
    private _onResolve;
}
