export interface TmuxSession {
    name: string;
    id: string;
    windows: number;
    attached: boolean;
    created: string;
}
export interface TmuxWindow {
    id: string;
    name: string;
    active: boolean;
    session: string;
    panes: number;
}
export interface TmuxPane {
    id: string;
    active: boolean;
    width: number;
    height: number;
    command: string;
}
export declare class TmuxController {
    listSessions(): Promise<TmuxSession[]>;
    createSession(name: string, command?: string): Promise<string>;
    killSession(name: string): Promise<string>;
    listWindows(session?: string): Promise<TmuxWindow[]>;
    createWindow(session: string, name?: string, command?: string): Promise<string>;
    killWindow(target: string): Promise<string>;
    sendKeys(target: string, keys: string, enter?: boolean): Promise<string>;
    splitWindow(target: string, vertical?: boolean, command?: string): Promise<string>;
    listPanes(target: string): Promise<TmuxPane[]>;
    getSessionInfo(name: string): Promise<any>;
    capturePane(target: string, startLine?: number, endLine?: number): Promise<string>;
}
