import { z } from 'zod'; import { type Config, type ConfigFile } from './types.js'; export type DurationTypeMap = () => z.ZodTypeAny; export declare class SchemaExtractor { private log; constructor(log: (category: string | unknown, message?: unknown) => void); execute({ config, configFile, durationTypeMap, }: { config: Config; configFile: ConfigFile; durationTypeMap?: DurationTypeMap; }): z.ZodType>; private createZodFunctionFromMustacheStrings; private getAllJsonValues; /** * Get all string values at a specific location in the config * @param config The configuration to extract strings from * @param location Array of keys representing the path to look for strings. Empty array for direct string values. * @returns Array of strings found at the specified location */ private getAllStringsAtLocation; private inferFromConfig; private replaceStringsWithMustache; private resolveUserSchema; }