import { Heimdall, HiddenInit, windowType } from "../heimdall";
import { Tools } from "@tideorg/js";
export declare class RequestEnclave extends Heimdall<RequestEnclave> {
    name: string;
    protected doken: string;
    protected dokenRefreshCallback: () => Promise<string> | undefined;
    protected requireReloginCallback: () => Promise<string>;
    private state;
    protected bgUrl: string;
    protected logoUrl: string;
    _windowType: windowType;
    protected initDone: Promise<any>;
    private sessionId?;
    init(data: HiddenInit): RequestEnclave;
    handleHiddenEnclaveResponse(msg: any): Promise<void>;
    getOrkUrl(): URL;
    checkEnclaveOpen(): void;
    initializeRequest(request: Tools.TideMemory): Promise<Uint8Array>;
    execute(data: Tools.TideMemory, waitForAll?: boolean): Promise<Uint8Array[]>;
    decrypt(data: decryptRequest[], policy?: Uint8Array): Promise<Uint8Array[]>;
    encrypt(data: encryptRequest[], policy?: Uint8Array): Promise<Uint8Array[]>;
    draftEncryption(data: encryptRequest[]): Promise<Uint8Array>;
    draftDecryption(data: decryptRequest[]): Promise<Uint8Array>;
    commitEncryption(readyEncryptionRequest: Uint8Array, policy: Uint8Array): Promise<Uint8Array[]>;
    commitDecryption(readyDecryptionRequest: Uint8Array, policy: Uint8Array): Promise<Uint8Array[]>;
    updateDoken(doken: string): Promise<void>;
    handleSessionCheck(): Promise<void>;
    onerror(data: any): Promise<void>;
}
interface decryptRequest {
    encrypted: Uint8Array;
    tags: string[];
}
interface encryptRequest {
    data: Uint8Array;
    tags: string[];
}
export {};
