import { AST } from '@handlebars/parser'; import { TemplateDataValidationError } from '../errors'; import striptags from 'striptags'; import Handlebars, { TemplateDelegate } from 'handlebars'; import * as types from '../types'; export declare const uno: Promise>; export declare const DEFAULT_MODEL_DEPTH = 10; export declare const DEFAULT_FIELD_TYPE: types.FieldType; export declare const stripHtml: typeof striptags; export declare class HandlebarsCollector extends Handlebars.Visitor { data: T[]; match: types.CollectorFilterHandler; constructor(filter?: types.CollectorFilterHandler); onCollect(val: T): void; setMatchHandler(val: types.CollectorFilterHandler): this; setAst(ast: AST.Program): this; collect(ast: AST.Program): T[]; } export declare class HandlebarsCommentCollector extends HandlebarsCollector { CommentStatement(node: any): void; } export declare class HandlebarsContentCollector extends HandlebarsCollector { ContentStatement(node: any): void; } export declare class HandlebarsPathCollector extends HandlebarsCollector { PathExpression(node: any): void; } export declare class FlextMacroCollector extends HandlebarsCommentCollector { match: typeof FilterHelper.macro; } export declare class FlextH1SomewhereContentCollector extends HandlebarsContentCollector { match: typeof FilterHelper.htmlH1Somewhere; } export declare function inarr(val: T, ...arr: A): types.Inarr; export declare function has(obj: T, key: K): types.Has; export declare function isset(val: T): types.Isset; export declare function isNumber(val: T): types.IsNumber; export declare function isObject(val: T): types.IsObject; export declare function audit(val: any): string; export declare function hbsToAst(val: types.Hbs): AST.Program; export declare function hbsToDelegate(val: types.Hbs | AST.Program): TemplateDelegate; export declare function delegateToHtml(template: TemplateDelegate, data?: types.Obj, helpers?: types.Obj): types.Html; export declare function delegateToCss(template: TemplateDelegate, data?: types.Obj, options?: types.Obj): Promise; export declare function unique(arr: T[]): T[]; export declare function astToPaths(ast: AST.Program): string[]; export declare function pathToDataModelNode(path: string, depth?: number): types.DataModelNode; export declare function pathToDataModel(path: string, depth?: number): types.DataModel; export declare function astToDataModel(ast: AST.Program): types.DataModel; export declare function dataModelNodeToMetadata(node: types.DataModelNode, fields: types.Field[], _options?: types.Obj, depth?: number): types.MetadataModelNode; export declare function macroTokenToMacroParam(val: string): types.MacroParam | null; export declare function macroTokenToMacroParams(val: string, doWarn?: boolean): types.MacroParam[]; export declare function astToMacros(ast: AST.Program, doWarn?: boolean): types.Macro[]; export declare function delegateToHtmlH1(ast: AST.Program, doWarn?: boolean): string[]; export declare function hbsToDelegateValidationErrorsByMetadata(data: types.Obj, model: types.MetadataModelNode[], depth?: number): TemplateDataValidationError[]; export declare function ensureString(val: any): string; export declare function ensureNullableString(val: any): string | null; export declare function ensureDate(val: Date | string | number, doWarn?: T): T extends true ? Date : Date | null; export declare function ensureTitle(val: string | number): string; export declare function ensureFieldName(val: string): string; export declare function ensureNullableFieldMinMax(val: any): Date | number | null; export declare function ensureNullableFieldMinMaxLength(val: any): number | null; export declare function ensureNullableFieldOrder(val: any): number | null; export declare function ensureFieldValue(val: any): types.FieldValue; export declare function sum(...args: number[]): number; export declare function matches(regex: RegExp, val: string | number): boolean; export declare function compare(val: number | null | undefined, valRef: number | null | undefined): number; export declare function macroToModuleNames(val: types.Macro): string[]; export declare function macroToField(val: types.Macro): types.Field; export declare function macroToFieldValueOption(val: types.Macro): types.FieldValueOption; export declare function applyValueOptionsToFields(options: types.FieldValueOption[], fields: types.Field[]): void; export declare function applyAbsoluteOrderToFields(fields: types.Field[]): void; export declare function defineModule(options?: any): any; export declare class RegexHelper { static firstChars: RegExp; static dbDateStr: RegExp; static macro: RegExp; static macroParams: RegExp; static macroParam: RegExp; static macroNamedParam: RegExp; static macroSimpleParam: RegExp; static htmlH1Somewhere: RegExp; } export declare class FilterHelper { static macro(val: string): boolean; static htmlH1Somewhere(val: string): boolean; }