import { Ast } from 'thingtalk'; import * as C from '../ast_manip'; import { ContextInfo } from '../state_manip'; declare type EmptySearch = [Ast.Expression | null, C.ParamSlot | null, boolean]; /** * Agent dialogue act: a search command returned no result. * * @param ctx - the current context * @param base - the base table used in the reply * @param question - a search question used in the reply */ export declare function makeEmptySearchError(ctx: ContextInfo, [base, question, offerMonitor]: EmptySearch): import("../../sentence-generator/types").AgentReplyRecord | null; /** * User dialogue act: in response to an empty search, the user changes their constraints. * * The "precise" variant explicitly contains a reference to a table, which must be the same * as the context. */ export declare function preciseEmptySearchChangeRequest(ctx: ContextInfo, phrase: Ast.Expression): Ast.DialogueState | null; /** * User dialogue act: in response to an empty search, the user changes their constraints. * * The "imprecise" variant only contains a value and optionally a parameter name. * The table is inferred from the context. */ export declare function impreciseEmptySearchChangeRequest(ctx: ContextInfo, answer: Ast.Value | C.FilterSlot): Ast.DialogueState | null; /** * User dialogue act: in response to an empty search where the agent proposed a statement, * the user accepts the statement. */ export declare function acceptEmptySearchOffer(ctx: ContextInfo): Ast.DialogueState | null; export {};