import { Container, type Focusable } from "@earendil-works/pi-tui";
import { KeybindingsManager } from "../../../core/keybindings.ts";
import { SessionList } from "./session-selector-list.ts";
import type { SessionsLoader } from "./session-selector-types.ts";
/**
 * Component that renders a session selector
 */
export declare class SessionSelectorComponent extends Container implements Focusable {
    handleInput(data: string): void;
    private canRename;
    private sessionList;
    private header;
    private keybindings;
    private scope;
    private sortMode;
    private nameFilter;
    private currentSessions;
    private allSessions;
    private currentSessionsLoader;
    private allSessionsLoader;
    private onCancel;
    private requestRender;
    private renameSession?;
    private currentLoading;
    private allLoading;
    private allLoadSeq;
    private mode;
    private renameInput;
    private renameTargetPath;
    private _focused;
    get focused(): boolean;
    set focused(value: boolean);
    private buildBaseLayout;
    constructor(currentSessionsLoader: SessionsLoader, allSessionsLoader: SessionsLoader, onSelect: (sessionPath: string) => void, onCancel: () => void, onExit: () => void, requestRender: () => void, options?: {
        renameSession?: (sessionPath: string, currentName: string | undefined) => Promise<void>;
        showRenameHint?: boolean;
        keybindings?: KeybindingsManager;
    }, currentSessionFilePath?: string);
    private loadCurrentSessions;
    private enterRenameMode;
    private exitRenameMode;
    private confirmRename;
    private loadScope;
    private toggleSortMode;
    private toggleNameFilter;
    private refreshSessionsAfterMutation;
    private toggleScope;
    getSessionList(): SessionList;
}
//# sourceMappingURL=session-selector.d.ts.map