import type { KaleidoscopePresetBook } from '../kaleidoscope.preset-book.types'; import type { EffectSpec } from './effect.types'; import type { KaleidoscopeBinding, KaleidoscopeBindOptions } from './types'; /** Apply the ordered specs to the base track and return the output. */ export type Reconcile = { apply: (specs: ReadonlyArray) => MediaStreamTrack; dispose: () => void; }; /** Write the segmentation mask edge (platform tuning channel). */ export type SetMask = (hardness: number, threshold: number) => void; /** * Write a live per-layer uniform override (platform tuning channel), keyed by * layer id. The running composite merges these over the layer's baked uniforms * each frame, with no rebuild. Mirrors `setMask`. */ export type SetLayerUniforms = (id: string, uniforms: Readonly>) => void; /** * Drop every live per-layer override (platform tuning channel). A preset switch * calls this so a reused layer id reverts to the new preset's baked uniforms * rather than inheriting a stale override from the prior preset. */ export type ResetLayerUniforms = () => void; export declare const createControls:

(baseTrack: MediaStreamTrack, { presets, onTrack }: KaleidoscopeBindOptions

, reconcile: Reconcile, setMask: SetMask, setLayerUniforms: SetLayerUniforms, resetLayerUniforms: ResetLayerUniforms) => KaleidoscopeBinding

; //# sourceMappingURL=controls.d.ts.map