import { Evaluator, EvaluatorArgs, Response } from '../models/command'; import REPL from '../models/repl'; import { EntitySpec, MixedResponse, MixedResponsePart } from '../models/entity'; import { ExecOptions } from '../models/execOptions'; import { Tab } from '../webapp/tab'; export interface Executor { name: string; exec(commandUntrimmed: string, execOptions: ExecOptions): Promise; } export interface ReplEval { name: string; apply(commandUntrimmed: string, execOptions: ExecOptions, evaluator: Evaluator, args: EvaluatorArgs): Response | Promise; } export declare class DirectReplEval implements ReplEval { name: string; apply(commandUntrimmed: string, execOptions: ExecOptions, evaluator: Evaluator, args: EvaluatorArgs): string | number | boolean | Error | HTMLElement | import("../models/entity").MessageBearingEntity | EntitySpec | import("../webapp/views/sidecar-core").CustomSpec | import("../api/table-models").Table | import("../api/table-models").MultiTable | MixedResponsePart[] | import("../api/ui-lite").MultiModalResponse> | import("../models/entity").LowLevelLoop | Promise; } export declare const setEvaluatorImpl: (impl: ReplEval) => void; declare type OopsHandler = (block: HTMLElement, nextBlock: HTMLElement) => (err: Error) => void; export declare const installOopsHandler: (fn: OopsHandler) => void; export declare const exec: (commandUntrimmed: string, execOptions?: ExecOptions) => Promise; export declare const doEval: ({ block, prompt }?: { block?: import("../webapp/models/block").Block; prompt?: import("../webapp/prompt").Prompt; }) => Promise; export declare const qexec: (command: string, block?: boolean | HTMLElement, contextChangeOK?: boolean, execOptions?: ExecOptions, nextBlock?: HTMLElement) => Promise; export declare const qfexec: (command: string, block?: HTMLElement, nextBlock?: HTMLElement, execOptions?: ExecOptions) => Promise; export declare const rexec: (command: string, execOptions?: ExecOptions) => Promise; export declare const pexec: (command: string, execOptions?: ExecOptions) => Promise; export declare const click: (command: string | (() => Promise), evt: MouseEvent) => Promise; export declare function update(tab: Tab, command: string, execOptions?: ExecOptions): Promise; export declare const setExecutorImpl: (impl: Executor) => void; export declare function semicolonInvoke(opts: EvaluatorArgs): Promise; export declare function getImpl(tab: Tab): REPL; export {};