import type { Composition } from "../../composition.js";
/**
 * Split the clip whose time-range contains `atSec` into two halves at that
 * timeline time. Child A keeps the original id and shrinks to `[start, atSec)`;
 * child B gets a freshly-minted id (`crypto.randomUUID()`) and covers
 * `[atSec, end)`. Keyframes are partitioned + rebased to clip-local 0 for child
 * B (#46 parity). Both halves inherit transforms / filters / style / position
 * / volume / fades identically, but via a per-child deep clone so the two
 * halves never alias the same nested mutable object (a later in-place patch on
 * one half must not bleed into the other).
 *
 * Throws `CompositionOpError{code:4}` when:
 *  - no clip matches `clipId`, or
 *  - `atSec` falls on/outside the clip's [start, end] (a boundary split would
 *    produce a zero-width child).
 *
 * Returns the minted id so the bridge can echo it back to the CLI agent.
 */
export declare function splitClip(comp: Composition, p: {
    clipId: string;
    atSec: number;
}): {
    newClipId: string;
};
//# sourceMappingURL=splitClip.d.ts.map