import type { SendMessageOptions } from "../extensions/index.js";
import { AsyncJobManager } from "./job-manager.js";
import type { AsyncJobDeliveryHandler, AsyncJobDeliveryMessage } from "./types.js";
export interface SessionAsyncJobManagerHandle {
    manager: AsyncJobManager;
    owns: boolean;
    sessionId: symbol;
}
interface AsyncDeliverySession {
    sendCustomMessage(message: AsyncJobDeliveryMessage, options?: SendMessageOptions): Promise<void>;
}
export declare function createSessionAsyncDeliveryHandler(session: AsyncDeliverySession, manager?: AsyncJobManager, sessionId?: symbol): AsyncJobDeliveryHandler;
export declare function createSessionAsyncJobManager(session: AsyncDeliverySession): SessionAsyncJobManagerHandle;
export declare function disposeSessionAsyncJobManager(manager: AsyncJobManager | undefined, sessionId: symbol | undefined): void;
export {};
//# sourceMappingURL=session-manager.d.ts.map