import { type Focusable, type Component, type KeybindingsManager, type SelectItem } from '@earendil-works/pi-tui'; import type { TuiSessionItem } from '../tui-backend.js'; export type SessionSelectorCallbacks = { onResume: (sessionKey: string) => void; onRename: (sessionKey: string, name: string) => Promise<{ ok: boolean; error?: string; }>; onDelete: (sessionKey: string) => Promise<{ ok: boolean; error?: string; }>; onCancel: () => void; requestRender: () => void; }; export declare function filterSessionSelectItems(items: SelectItem[], query: string): SelectItem[]; /** Session picker with search, rename (Ctrl+R), delete (Ctrl+D x2). */ export declare class SessionSelector implements Component, Focusable { private readonly callbacks; private readonly keybindings?; private readonly currentCwd?; private readonly currentSessionKey?; private sessions; private readonly list; private readonly footer; private readonly renameInput; private mode; private pendingDeleteKey; private sortByName; private namedOnly; private showKey; private scope; private _focused; constructor(sessions: TuiSessionItem[], callbacks: SessionSelectorCallbacks, keybindings?: KeybindingsManager, currentCwd?: string, currentSessionKey?: string); get focused(): boolean; set focused(value: boolean); setSessions(sessions: TuiSessionItem[]): void; private refreshList; private setFooterHint; private matchesAction; private renameConfirmKeyHint; private renameCancelKeyHint; private triggerDeleteForSelectedSession; private syncChildFocus; invalidate(): void; render(width: number): string[]; handleInput(keyData: string): void; }