import type { AcpSession } from "./types.js";
export type AcpSessionStore = {
    /** Creates or refreshes an in-memory ACP session under the supplied session id. */
    createSession: (params: {
        sessionKey: string;
        cwd: string;
        sessionId?: string;
        ledgerSessionId?: string;
    }) => AcpSession;
    hasSession: (sessionId: string) => boolean;
    getSession: (sessionId: string) => AcpSession | undefined;
    getSessionByRunId: (runId: string) => AcpSession | undefined;
    /** Binds an active runtime run to a session so cancel/close can abort it later. */
    setActiveRun: (sessionId: string, runId: string, abortController: AbortController) => void;
    clearActiveRun: (sessionId: string) => void;
    cancelActiveRun: (sessionId: string) => boolean;
    deleteSession: (sessionId: string) => boolean;
    clearAllSessionsForTest: () => void;
};
type AcpSessionStoreOptions = {
    maxSessions?: number;
    idleTtlMs?: number;
    now?: () => number;
};
/** Creates the bounded in-memory ACP session registry used by local ACP runtime clients. */
export declare function createInMemorySessionStore(options?: AcpSessionStoreOptions): AcpSessionStore;
export declare const defaultAcpSessionStore: AcpSessionStore;
export {};
