import type { IGraphic, IStep } from '@visactor/vrender-core';
import type { IPointLike } from '@visactor/vutils';
export declare class InterpolateUpdateStore {
    opacity: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    baseOpacity: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    fillOpacity: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    strokeOpacity: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    zIndex: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    backgroundOpacity: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    shadowOffsetX: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    shadowOffsetY: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    shadowBlur: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    fill: (key: string, from: [number, number, number, number], to: [number, number, number, number], ratio: number, step: IStep, target: IGraphic) => void;
    fillPure: (key: string, from: [number, number, number, number], to: [number, number, number, number], ratio: number, step: IStep, target: IGraphic) => void;
    stroke: (key: string, from: [number, number, number, number], to: [number, number, number, number], ratio: number, step: IStep, target: IGraphic) => void;
    strokePure: (key: string, from: [number, number, number, number], to: [number, number, number, number], ratio: number, step: IStep, target: IGraphic) => void;
    width: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    height: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    x: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    y: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    dx: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    dy: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    angle: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    scaleX: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    scaleY: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    lineWidth: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    startAngle: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    endAngle: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    radius: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    outerRadius: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    innerRadius: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    size: (key: string, from: number, to: number, ratio: number, step: IStep, target: IGraphic) => void;
    points: (key: string, from: IPointLike[], to: IPointLike[], ratio: number, step: IStep, target: IGraphic) => void;
}
export declare const interpolateUpdateStore: InterpolateUpdateStore;
export declare function commonInterpolateUpdate(key: string, from: any, to: any, ratio: number, step: IStep, target: IGraphic): boolean;
