/**
 * SessionId implementation for gemini-cli.
 *
 * Gemini assigns a UUID to each session (the `"sessionId"` field in its
 * on-disk session file). The adapter's SessionHandle binds to that
 * gemini-side session UUID. This primitive provides the binding both
 * directions.
 *
 * Mirrors openai-codex/observability/sessionId.ts: an in-memory bidirectional
 * map, populated when the adapter observes a session's id, plus a synthetic
 * handle for a known session id without a live process.
 */
import type { SessionHandle } from '../../../types.js';
import type { SessionId } from '../../../primitives/observability/sessionId.js';
/** Bind a Gemini session UUID to a SessionHandle. */
export declare function bindGeminiSessionId(handle: SessionHandle, sessionId: string): void;
/** Look up the SessionHandle for a Gemini session UUID. */
export declare function handleForGeminiSession(sessionId: string): SessionHandle | null;
/** Construct a session handle for a known gemini session without a live process. */
export declare function syntheticHandleForGeminiSession(sessionId: string): SessionHandle;
/** Construct a process-pid handle for a live one-shot spawn (used by HardKill). */
export declare function pidHandle(pid: number): SessionHandle;
export declare function createSessionId(): SessionId;
/** Test-only: clear the in-memory session-id binding maps. */
export declare function _resetGeminiSessionIdMaps(): void;
//# sourceMappingURL=sessionId.d.ts.map