/** * Shared JSON-shape validation helpers for Dreamux config readers. * * Any code that reads a config block validates it with these: each provider * package's own `config.ts` for its provider's block, and the host's config * module and plugin loader for theirs. They are runtime-agnostic — they know * only JSON shapes — and every rejection they throw is a {@link RuleViolation} * carrying a `dreamux config error in : ...` message, so a host reader * that received the value from a caller can tell a refused value from a * failure of its own. */ export declare function describeType(v: unknown): string; export declare function readNonEmptyString(obj: Record, key: string, file: string, prefix?: string): string; export declare function readOptionalString(obj: Record, key: string, file: string, prefix?: string): string | null; export declare function readOptionalBoolean(obj: Record, key: string, fallback: boolean, file: string, prefix?: string): boolean; export declare function readStringArray(obj: Record, key: string, fallback: string[], file: string, prefix?: string): string[]; export declare function readStringRecord(obj: Record, key: string, fallback: Record, file: string, prefix?: string): Record; export declare function readPositiveInt(obj: Record, key: string, fallback: number, file: string, prefix?: string): number; export declare function readProviderConfigObject(rawConfig: unknown, file: string, name: string, options?: { allowMissing?: boolean; }): Record; //# sourceMappingURL=config-validate.d.ts.map