export type TransformChannel = 'perspective' | 'x' | 'y' | 'rotateX' | 'rotateY' | 'rotateZ' | 'rotate' | 'skewX' | 'skewY' | 'scale' | 'scaleX' | 'scaleY'; export type TransformChannels = Partial>; /** Every key that resolves into the transform string (i.e. all but opacity). */ export declare const TRANSFORM_KEYS: readonly ["perspective", "x", "y", "rotateX", "rotateY", "rotateZ", "rotate", "skewX", "skewY", "scale", "scaleX", "scaleY"]; export type OriginChannel = 'originX' | 'originY'; export type OriginChannels = Partial>; export declare const ORIGIN_KEYS: readonly ["originX", "originY"]; /** transform-origin from originX/originY percentages; an unset axis is center. */ export declare function formatOrigin(c: OriginChannels): string; /** * Single source of the transform string format. The WAAPI delegation builds * its keyframes with it and the binding writes frames with it - both MUST * produce byte-identical strings for the same values, or handoffs would * visually jump. * * Canonical order: perspective first (so the 3D rotations have depth), then * translate, rotations, skews, scales. The functions do not all commute, so a * fixed order is what keeps every code path identical. */ export declare function formatTransform(c: TransformChannels): string; //# sourceMappingURL=transform.d.ts.map