import { EventEmitter } from "./events"; export declare const REPL_MODE_SLOPPY: unique symbol; export declare const REPL_MODE_STRICT: unique symbol; export interface Recoverable extends SyntaxError { err: Error; } interface RecoverableConstructor { new (err: Error): Recoverable; (this: any, err: Error): void; prototype: any; } export declare const Recoverable: RecoverableConstructor; export interface REPLServer extends EventEmitter { context: Record; terminal: boolean; _prompt: string; _commands: Map; setPrompt(prompt: string): void; getPrompt(): string; displayPrompt(_preserveCursor?: boolean): void; defineCommand(keyword: string, cmd: { help?: string; action: Function; } | Function): void; close(): void; setupHistory(_historyPath: string, cb: (err: Error | null, repl: REPLServer) => void): void; } interface REPLServerConstructor { new (options?: string | Record): REPLServer; (this: any, options?: string | Record): void; prototype: any; } export declare const REPLServer: REPLServerConstructor; export declare function start(options?: string | Record): REPLServer; declare const _default: { start: typeof start; REPLServer: REPLServerConstructor; Recoverable: RecoverableConstructor; REPL_MODE_SLOPPY: symbol; REPL_MODE_STRICT: symbol; }; export default _default;