/**
 * Writer is a super simple wrapper around the console/standard output for
 * use/replacement in testing.
 */
export declare class Writer {
    private fn;
    private readline;
    /**
     * Writes a message out to the console.
     */
    write(...message: any[]): void;
    /**
     * writeWrapped prints the message and wraps it at a certain character width.
     */
    writeWrapped(message: string, width?: number): void;
    /**
     * Prompts the user whether they'd like to continue the current operation.
     * Returns whether they've given consent to continue.
     */
    confirm(question: string, defaultValue?: boolean): Promise<boolean>;
    /**
     * Prompts the user with a question, and records their answer as a string.
     * Optionally takes a `validate` function. If the validator returns a string,
     * it will be printed and the user will be prompted to
     * answer the question again.
     */
    ask(question: string, defaultValue?: string, validate?: (answer: string) => string | void): Promise<string>;
}
declare const _default: Writer;
export default _default;
