import { default as IConvert } from './convertInterface';
import { TransformDefine, Rotate3D, Translate3D, Scale3D, Matrix4D, UndefinedNumber, StyleVar } from '../type';

export default class TransformConvert implements IConvert<TransformDefine[]> {
    compare(v1?: TransformDefine[], v2?: TransformDefine[]): boolean;
    toString(value?: TransformDefine[], styleVarMap?: Record<string, StyleVar.Desc>): string | undefined;
    isSameNumber3D(v1: UndefinedNumber[], v2: UndefinedNumber[]): boolean;
    dotMatrix4D(list: Matrix4D[]): Matrix4D;
    dotVictor4D(v1: number[], v2: number[]): number;
    translateItemToMatrix(value: Rotate3D | Translate3D | Scale3D): Matrix4D;
    rotateToMatrix(value: Rotate3D): Matrix4D;
    translateToMatrix(value: Translate3D): Matrix4D;
    scaleToMatrix(value: Scale3D): Matrix4D;
    toStyle(value?: string): TransformDefine[] | undefined;
}
