/* auto-generated by NAPI-RS */ /* eslint-disable */ export declare class ZenDecision { constructor() evaluate(context: any, opts?: ZenEvaluateOptions | undefined | null): Promise safeEvaluate(context: any, opts?: ZenEvaluateOptions | undefined | null): Promise<{ success: true, data: ZenEngineResponse } | { success: false; error: any; }> validate(): void } export declare class ZenDecisionContent { constructor(content: Buffer | object) toBuffer(): Buffer } export declare class ZenEngine { constructor(options?: ZenEngineOptions | undefined | null) evaluate(key: string, context: any, opts?: ZenEvaluateOptions | undefined | null): Promise createDecision(content: ZenDecisionContent | Buffer | object): ZenDecision getDecision(key: string): Promise safeEvaluate(key: string, context: any, opts?: ZenEvaluateOptions | undefined | null): Promise<{ success: true, data: ZenEngineResponse } | { success: false; error: any; }> safeGetDecision(key: string): Promise<{ success: true, data: ZenDecision } | { success: false; error: any; }> dispose(): void } export declare class ZenEngineHandlerRequest { constructor() get node(): DecisionNode get input(): any getField(path: string): unknown getFieldRaw(path: string): unknown } export interface DecisionNode { id: string name: string kind: string config: any } export declare function evaluateExpression(expression: string, context?: any | undefined | null): Promise export declare function evaluateExpressionSync(expression: string, context?: any | undefined | null): any export declare function evaluateUnaryExpression(expression: string, context: any): Promise export declare function evaluateUnaryExpressionSync(expression: string, context: any): boolean export declare function overrideConfig(config: ZenConfig): void export declare function renderTemplate(template: string, context: any): Promise export declare function renderTemplateSync(template: string, context: any): any export interface ZenConfig { nodesInContext?: boolean functionTimeoutMillis?: number httpAuth?: boolean } export interface ZenEngineHandlerResponse { output: any traceData?: any } export interface ZenEngineOptions { loader?: (key: string) => Promise customHandler?: (request: ZenEngineHandlerRequest) => Promise httpHandler?: (request: ZenHttpHandlerRequest) => Promise } export interface ZenEngineResponse { performance: string result: any trace?: Record } export interface ZenEngineTrace { id: string name: string input: any output: any performance?: string traceData?: any order: number } export interface ZenEvaluateOptions { maxDepth?: number trace?: boolean | 'string' | 'reference' | 'referenceString' } export interface ZenHttpHandlerRequest { method: string url: string body?: any headers: Record params: Record } export interface ZenHttpHandlerResponse { status: number headers: any data: any }