import { ValueSchema, StylesChannel } from './registry.js'; /** * Validates a value against a ValueSchema AST node. * * @param path - Dot-delimited path for error messages (e.g. "patch.borders.top.size") * @param value - The value to validate * @param schema - The schema to validate against */ export declare function validateValue(path: string, value: unknown, schema: ValueSchema): void; export type StylesApplyInputShape = { target: { scope: 'docDefaults'; channel: StylesChannel; }; patch: Record; }; export declare function validateStylesApplyInput(input: unknown): asserts input is StylesApplyInputShape; export declare function validateStylesApplyOptions(options: unknown): void; /** Discriminated union returned by `classifyPatchKey`. */ export type PatchKeyClassification = { status: 'valid'; } | { status: 'excluded'; reason: string; } | { status: 'cross_channel'; ownerChannel: StylesChannel; } | { status: 'unknown'; }; /** * Classifies a patch key relative to a given channel. * * Returns a discriminated union so callers can switch on `status` instead of * nesting conditionals across excluded-key maps, allowed-key sets, and * cross-channel lookups. */ export declare function classifyPatchKey(key: string, channel: StylesChannel): PatchKeyClassification; //# sourceMappingURL=validation.d.ts.map