import { Ast } from 'thingtalk'; import * as C from '../ast_manip'; import { SlotBag } from '../slot_bag'; declare function isFilterCompatibleWithInfo(info: SlotBag, filter: Ast.BooleanExpression): boolean; declare function isFilterCompatibleWithResult(topResult: Ast.DialogueHistoryResultItem, filter: Ast.BooleanExpression): boolean; export declare function isSlotCompatibleWithResult(topResult: Ast.DialogueHistoryResultItem, pname: string, infoValue: Ast.Value): boolean; declare function isInfoPhraseCompatibleWithResult(topResult: Ast.DialogueHistoryResultItem, info: SlotBag): boolean; /** * Check if asking a question on the parameters "questions" is allowed. * * This checks two things: that all parameters are valid output parameters of the table, * and all parameters are filterable. */ declare function isValidSearchQuestion(expr: Ast.Expression, questions: C.ParamSlot[]): boolean; declare function addParametersFromContext(toInvocation: Ast.Invocation, fromInvocation: Ast.Invocation): Ast.Invocation; declare function findChainParam(topResult: Ast.DialogueHistoryResultItem, action: Ast.Invocation): string | undefined; export declare function isSimpleFilterExpression(table: Ast.Expression): table is Ast.FilterExpression; export { isFilterCompatibleWithInfo, isFilterCompatibleWithResult, isInfoPhraseCompatibleWithResult, isValidSearchQuestion, findChainParam, addParametersFromContext, };