import { SqrlSlot } from "../slot/SqrlSlot"; import { Ast, CallAst, ConstantAst, FeatureAst, ListAst, AstLocation, LetAst, SlotAst, NotAst, BinaryExprAst, IncludeAst } from "./Ast"; declare const SqrlAst: { SqrlSlot: typeof SqrlSlot; featureEquals(feature: string, val: any): BinaryExprAst; letStatement(feature: string, expr: Ast, options?: {}): LetAst; removeLocation(input: Ast): Ast; hash(ast: Ast): string; areEqual(left: Ast, right: Ast): boolean; call(func: string, args: Ast[]): CallAst; bool(ast: Ast): CallAst | ConstantAst; and(...asts: Ast[]): Ast; or(...asts: Ast[]): Ast; not(ast: Ast): NotAst; areAllConstant(asts: Ast[]): asts is ConstantAst[]; isExactConstant(ast: Ast, value: any): boolean; isConstantNull(ast: Ast): boolean; isConstantTrue(ast: Ast): boolean; isConstantFalse(ast: Ast): boolean; isSimpleDataObject(ast: Ast): boolean; constant(value: any): ConstantAst; constants(...values: any[]): ConstantAst[]; list(...exprs: Ast[]): ListAst; registerCall(ast: any): any; slotName(slotName: string): SlotAst; include(filename: string): IncludeAst; slot(slot: SqrlSlot): SlotAst; feature(name: string): FeatureAst; features(...features: string[]): FeatureAst[]; props(obj: any): CallAst; branch(condition: Ast, trueBranch: Ast, falseBranch?: Ast): Ast; branchOrNull(condition: Ast, trueBranch: Ast): Ast; srcFileLineNumber(location: AstLocation): string; srcLine(location: AstLocation): string; srcLines(locations: AstLocation[]): string; }; export default SqrlAst;