import { Heimdall, windowType } from "../heimdall";
import { TideMemory } from "../wrapper";
interface HiddenInit {
    doken: string;
    /**
     * @returns A refresh doken for Heimdall
     */
    dokenRefreshCallback: () => Promise<string> | undefined;
    /**
     * @returns A function that re authenticates the current user from the client. (Used to update their session key on Identity System). Returns a new doken too.
     */
    requireReloginCallback: () => Promise<string>;
}
export declare class RequestEnclave extends Heimdall<RequestEnclave> {
    private doken;
    private dokenRefreshCallback;
    private requireReloginCallback;
    _windowType: windowType;
    private initDone;
    init(data: HiddenInit): RequestEnclave;
    handleHiddenEnclaveResponse(msg: any): Promise<void>;
    getOrkUrl(): URL;
    checkEnclaveOpen(): void;
    execute(data: TideMemory): Promise<Uint8Array[]>;
    decrypt(data: decryptRequest): Promise<Uint8Array[]>;
    encrypt(data: encryptRequest): Promise<Uint8Array[]>;
    updateDoken(doken: string): Promise<void>;
    onerror(data: any): Promise<void>;
}
interface decryptRequest {
    encrypted: Uint8Array;
    tags: string[];
}
interface encryptRequest {
    data: Uint8Array;
    tags: string[];
}
export {};
