import { ExecutionResult } from './types.js';
import { AnsiConverterOptions } from './terminal/ansi_converter.js';
export type HmOogOptions = {
    shellPath: string;
    ansiOptions: Partial<AnsiConverterOptions>;
};
export declare class HmOog {
    #private;
    private readonly shellPath;
    private readonly fileWatcher;
    private readonly ansiOptions;
    private lastCommand?;
    private isHardlineActive;
    constructor(options?: Partial<HmOogOptions>);
    init(): Promise<void>;
    run(command: string, timeout?: number, retry?: boolean): Promise<ExecutionResult | null>;
    enterHardline(): Promise<number>;
    /**
     * Alias for {@link exitHardline}.
     */
    enterRecon(): Promise<boolean>;
    exitHardline(): Promise<boolean>;
    isInHardline(): boolean;
}
