import { type LanguageModel } from 'ai'; import { predicateSchema, type Predicate } from '../definition/predicate.js'; import type { FlowValidationIssue } from '../definition/validate/types.js'; export declare const NL_PREDICATE_COMPILER_VERSION = "1"; export declare const NL_PREDICATE_COMPILER_SYSTEM: string; export interface NlPredicateProvenance { modelId: string; promptHash: string; compilerVersion: string; } export interface NlPredicateProvider { readonly modelId: string; generatePredicate(args: { schema: typeof predicateSchema; system: string; prompt: string; }): Promise; } export type CompileNlPredicateResult = { ok: true; predicate: Predicate; provenance: NlPredicateProvenance; } | { ok: false; issues: FlowValidationIssue[]; }; export declare function nlPredicatePromptHash(): Promise; export declare function isNlPredicateProvider(value: unknown): value is NlPredicateProvider; export declare function isPathInKnownVariables(path: string, knownVariables: readonly string[]): boolean; export declare function scopedPredicateIssues(predicate: Predicate, knownVariables: readonly string[], issuePath: string): FlowValidationIssue[]; export declare function compileNlPredicate(nl: string, knownVariables: readonly string[], provider: NlPredicateProvider | LanguageModel, issuePath?: string): Promise;