import type { CommandExecution } from '../types.js';
export declare class CommandRunner {
    private projectRoot;
    private active;
    private process;
    private onOutput?;
    private onComplete?;
    constructor(projectRoot: string, callbacks?: {
        onOutput?: (executionId: string, line: string, stream: 'stdout' | 'stderr') => void;
        onComplete?: (executionId: string, exitCode: number | null) => void;
    });
    /** Execute a whitelisted command, optionally in a different working directory */
    execute(commandName: string, options?: {
        cwd?: string;
    }): CommandExecution | null;
    /** Cancel the running command */
    cancel(): boolean;
    /** Get current active command */
    getActive(): CommandExecution | null;
    /** Get list of allowed command names */
    static getAllowedCommands(): string[];
}
//# sourceMappingURL=command-runner.d.ts.map