/**
 * readline shim - Terminal readline is not available in browser
 * Provides stubs for common usage patterns
 */
import { EventEmitter } from './events';
export interface ReadLineOptions {
    input?: unknown;
    output?: unknown;
    terminal?: boolean;
    prompt?: string;
}
export declare class Interface extends EventEmitter {
    constructor(_options?: ReadLineOptions);
    prompt(_preserveCursor?: boolean): void;
    setPrompt(_prompt: string): void;
    getPrompt(): string;
    question(_query: string, callback: (answer: string) => void): void;
    pause(): this;
    resume(): this;
    close(): void;
    write(_data: string, _key?: {
        ctrl?: boolean;
        name?: string;
    }): void;
    line: string;
    cursor: number;
    getCursorPos(): {
        rows: number;
        cols: number;
    };
}
export declare function createInterface(options?: ReadLineOptions): Interface;
export declare function clearLine(_stream: unknown, _dir: number, _callback?: () => void): boolean;
export declare function clearScreenDown(_stream: unknown, _callback?: () => void): boolean;
export declare function cursorTo(_stream: unknown, _x: number, _y?: number, _callback?: () => void): boolean;
export declare function moveCursor(_stream: unknown, _dx: number, _dy: number, _callback?: () => void): boolean;
export declare function emitKeypressEvents(_stream: unknown, _interface?: Interface): void;
export declare const promises: {
    createInterface: (options?: ReadLineOptions) => {
        question: (query: string) => Promise<string>;
        close: () => void;
        [Symbol.asyncIterator]: () => AsyncGenerator<never, void, unknown>;
    };
};
declare const _default: {
    Interface: typeof Interface;
    createInterface: typeof createInterface;
    clearLine: typeof clearLine;
    clearScreenDown: typeof clearScreenDown;
    cursorTo: typeof cursorTo;
    moveCursor: typeof moveCursor;
    emitKeypressEvents: typeof emitKeypressEvents;
    promises: {
        createInterface: (options?: ReadLineOptions) => {
            question: (query: string) => Promise<string>;
            close: () => void;
            [Symbol.asyncIterator]: () => AsyncGenerator<never, void, unknown>;
        };
    };
};
export default _default;
//# sourceMappingURL=readline.d.ts.map