export interface TmuxExecutionResult {
    success: boolean;
    stdout: string;
    stderr: string;
    command: string;
    timestamp: string;
}
export interface TmuxExecutionOptions {
    timeout?: number;
    maxBuffer?: number;
    cwd?: string;
    env?: Record<string, string>;
}
export declare class SecureTmuxWrapper {
    private static readonly DEFAULT_TIMEOUT;
    private static readonly DEFAULT_MAX_BUFFER;
    private static readonly TMUX_BINARY;
    static executeSecurely(command: string, args: string[], options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
    static sendKeysSecurely(sessionName: string, windowIndex: number, keys: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
    static sendCommandSecurely(sessionName: string, windowIndex: number, command: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
    static createSessionSecurely(sessionName: string, initialDirectory?: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
    static createWindowSecurely(sessionName: string, windowName: string, initialDirectory?: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
    static capturePaneSecurely(sessionName: string, windowIndex: number, startLine?: number, endLine?: number, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
    static listSessionsSecurely(options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
    static listWindowsSecurely(sessionName: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
    static killSessionSecurely(sessionName: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
    static hasSessionSecurely(sessionName: string, options?: TmuxExecutionOptions): Promise<boolean>;
    static killWindowSecurely(sessionName: string, windowIndex: number, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
    private static buildCommand;
    private static sanitizeKeys;
    private static escapeShellArgument;
    static validateTmuxAvailable(): Promise<boolean>;
}
