import type Database from 'better-sqlite3';
export interface TerminalRecord {
    id: number;
    uuid: string;
    project_id: number | null;
    pid: number | null;
    shell: string | null;
    cwd: string | null;
    connected_at: string;
    last_seen: string;
    disconnected_at: string | null;
}
type CreateTerminalData = Omit<TerminalRecord, 'id' | 'connected_at' | 'last_seen' | 'disconnected_at'>;
type UpdateTerminalData = Partial<Omit<TerminalRecord, 'id' | 'connected_at'>>;
export declare class TerminalRepository {
    private db;
    private stmts;
    constructor(db: Database.Database);
    create(data: CreateTerminalData): number;
    getById(id: number): TerminalRecord | undefined;
    update(id: number, data: UpdateTerminalData): void;
    delete(id: number): void;
    findByUuid(uuid: string): TerminalRecord | undefined;
    findConnected(): TerminalRecord[];
    cleanupStale(olderThan: string): number;
}
export {};
