import { Context } from '../Context'; import { Node } from '..'; export declare type Fn = (options: FnArgs) => Promise | any; export interface FnArgs { args: FnInput[]; ctx: Context; node: Node; input?: FnInput; block?: Node[]; elseBlock?: Node[]; } export interface FnInput { ident?: string; value: any; } export interface FnConfig { pipeable: boolean; pipeRequired: boolean; block: boolean; blockRequired: boolean; elseBlock: boolean; elseBlockRequired: boolean; maxArgs: number; requiredArgs: number; } export declare const registerFn: (name: string, exec: Fn, config?: Partial | undefined) => void; export declare function registerPre(name: string, exec: Fn, config?: Partial): void; export declare function registerPost(name: string, exec: Fn, config?: Partial): void; export declare const hasFn: (name: string) => boolean; export declare const hasPre: (name: string) => boolean; export declare const hasPost: (name: string) => boolean; export declare const execFn: (name: string, args: FnArgs) => Promise; export declare const execPre: (name: string, args: FnArgs) => Promise; export declare const execPost: (name: string, args: FnArgs) => Promise; //# sourceMappingURL=Fn.d.ts.map