import type { TerminalRepository } from '../db/repositories/terminal.repository.js';
export interface RegisterTerminalInput {
    uuid: string;
    projectId?: number;
    pid?: number;
    shell?: string;
    cwd?: string;
}
export declare class TerminalService {
    private terminalRepo;
    private staleTimeout;
    private logger;
    private eventBus;
    constructor(terminalRepo: TerminalRepository, staleTimeout: number);
    register(input: RegisterTerminalInput): number;
    heartbeat(uuid: string): void;
    disconnect(uuid: string): void;
    cleanup(): number;
    getConnected(): import("../db/repositories/terminal.repository.js").TerminalRecord[];
}
