import { type Component } 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;
};
/** Session picker with search, rename (Ctrl+R), delete (Ctrl+D ×2). */
export declare class SessionSelector implements Component {
    private readonly callbacks;
    private sessions;
    private readonly list;
    private readonly footer;
    private readonly renameInput;
    private mode;
    private pendingDeleteKey;
    private sortByName;
    private namedOnly;
    constructor(sessions: TuiSessionItem[], callbacks: SessionSelectorCallbacks);
    setSessions(sessions: TuiSessionItem[]): void;
    private refreshList;
    private setFooterHint;
    invalidate(): void;
    render(width: number): string[];
    handleInput(keyData: string): void;
}
