import type { Clip } from "../../composition.js";
/**
 * Patch one clip's properties from a flat `{ path: value }` map, where each
 * path is a top-level key (`volume`) or a dot-separated nested path
 * (`transforms.scale`, `ducking.ratio`, `style.stroke.color`).
 *
 * Validation is the whole point: EVERY path is checked against the per-kind
 * whitelist BEFORE any value is written. The first unknown / misspelled /
 * wrong-kind path throws `CompositionOpError{code:4}` and the clip is left
 * completely untouched (all-or-nothing — no partial write, no silent strip).
 *
 * Mutates `clip` in place. Intermediate nested objects are created on demand
 * (e.g. patching `ducking.ratio` on a clip with no `ducking` yet mints the
 * object) so an agent can set a nested leaf without first writing the parent.
 *
 * Returns nothing — callers read the mutated `clip`.
 */
export declare function patchClipProps(clip: Clip, patch: Record<string, unknown>): void;
//# sourceMappingURL=patchClipProps.d.ts.map