import { AlBehaviorPromise, AIMSSessionDescriptor } from '@al/core';
export declare class AlMiniConduit {
    conduitUri: string;
    verbose: boolean;
    conduitWindow: Window;
    conduitOrigin: string;
    refCount: number;
    ready: AlBehaviorPromise<boolean>;
    protected requests: {
        [requestId: string]: {
            resolve: any;
            reject: any;
            canceled: boolean;
        };
    };
    protected requestIndex: number;
    constructor(conduitUri: string);
    start(): void;
    stop(): void;
    destroy(): void;
    /**
     * Retrieves session information from the conduit.  Resolves with valid session information if a session exists, or null if no session is established;
     * an error indicates a problem with conduit operation rather than the absence of a session.
     */
    getSession(): Promise<AIMSSessionDescriptor>;
    /**
     * Sets session information to the conduit.
     */
    setSession(session: AIMSSessionDescriptor): Promise<AIMSSessionDescriptor>;
    /**
     * Deletes existing session information.
     */
    deleteSession(): Promise<boolean>;
    /**
     * Receives a message from conduit, and dispatches it to the correct handler.
     */
    onReceiveMessage: (event: any) => void;
    onConduitReady(event: any): void;
    onDispatchReply(event: any): void;
    protected request(methodName: string, data?: any): Promise<any>;
}
