import type { Scheduler } from '../scheduler/scheduler'; import type { Animatable } from '../value/animatable'; import type { AnimatableElement } from './resolve-target'; import { type OriginChannel, type TransformChannel } from './transform'; /** Each channel is an Animatable bound to one transform function, transform-origin axis, or opacity. */ export type StyleBindings = Partial> & { opacity?: Animatable; }; export interface BindStyleOptions { /** Must be the scheduler driving the bound animatables. Defaults to the shared one. */ scheduler?: Scheduler; /** * When set, the opacity write also toggles `visibility` - `hidden` at 0, cleared * otherwise - so a fully transparent element stops capturing pointer events (the * autoAlpha behavior). No effect without an opacity binding. */ autoAlpha?: boolean; } /** * Writes animatable values straight to element.style from the scheduler's * render phase - outside any framework reactivity. All channels that moved * during a frame are flushed in a single write per property, per element. * Returns a dispose function. */ export declare function bindStyle(element: AnimatableElement, bindings: StyleBindings, options?: BindStyleOptions): () => void; //# sourceMappingURL=bind-style.d.ts.map