import type { SessionInfo } from "./session-listing.js"; /** * Read the global set of pinned session ids (`~/.omp/session-pins.json`). Pins * are keyed by session id, not file path, so they survive `/move` renames. * A missing file yields an empty set; a corrupt one degrades to empty with a * warning rather than breaking the resume picker. */ export declare function loadPinnedSessionIds(agentDir?: string): Promise>; /** Toggle one session's pin; returns the new pinned state. */ export declare function toggleSessionPin(sessionId: string, agentDir?: string): Promise; /** Pin or unpin one session; a no-op when it is already in that state. */ export declare function setSessionPinned(sessionId: string, pinned: boolean, agentDir?: string): Promise; /** Unpin one session; returns whether it was pinned. */ export declare function unpinSession(sessionId: string, agentDir?: string): Promise; /** * Stable partition putting pinned sessions on top: within each group the * caller's order (recency) is preserved. Unknown ids are a no-op so stale * pins for deleted sessions never disturb the listing. */ export declare function sortPinnedFirst(sessions: SessionInfo[], pinnedIds: ReadonlySet): SessionInfo[];