import { AnimationPlanner, AnimationPlanningContext } from '../animation.js'; import { AnimationHandler, AnimationPlan } from '../animation-engines.js'; import { Layout } from '../layout.js'; import { ProjectionComponent, ProjectionDistortion } from '../projection-component.js'; import { ProjectionNode } from '../projection-node.js'; declare const PROP_NAME = "borderRadiuses"; export interface BorderRadiusProperties { [PROP_NAME]: BorderRadiusConfig; } export declare class BorderRadiusProjectionComponent implements ProjectionComponent { protected measurer: BorderRadiusMeasurer; constructor(measurer: BorderRadiusMeasurer); measureProperties(element: HTMLElement, layout: Layout): BorderRadiusProperties; cancelDistortion(element: HTMLElement, { borderRadiuses: radiuses }: BorderRadiusProperties, { scaleX, scaleY }: ProjectionDistortion): void; } export declare class BorderRadiusAnimationComponent implements AnimationPlanner, AnimationHandler { buildPlan(context: AnimationPlanningContext): Partial; handleFrame(node: ProjectionNode, progress: number, plan: AnimationPlan): void; } export declare class BorderRadiusMeasurer { protected parser: CssBorderRadiusParser; constructor(parser: CssBorderRadiusParser); measure(element: HTMLElement, layout?: Layout): BorderRadiusConfig; } export declare class CssBorderRadiusParser { parse(style: string, width: number, height: number): BorderRadiusCornerConfig; } export interface BorderRadiusConfig { topLeft: BorderRadiusCornerConfig; topRight: BorderRadiusCornerConfig; bottomLeft: BorderRadiusCornerConfig; bottomRight: BorderRadiusCornerConfig; } export interface BorderRadiusCornerConfig { x: number; y: number; } export {}; //# sourceMappingURL=border-radius.d.ts.map