import { tav } from '../tav';
import { Matrix, Transform2D } from '../types/types';
import { Effect } from './tav-effect';
/**
 * Effect to transform video frame with specified bezier curve.
 * @category Effects
 */
export declare class TransformEffect extends Effect {
    static MakeTransformEffect(): TransformEffect;
    readonly type: string;
    private _transform2D;
    clone(): TransformEffect;
    /**
     * Get the real time matrix applied on the input.
     * @returns The current matrix applied on the input.
     */
    getCurrentMatrix(): Matrix;
    /**
     * Get the current opacity applied on the input.
     * @returns The current opacity applied on the input.
     */
    getCurrentOpacity(): number;
    protected createClip(): Promise<tav.TransformEffect> | undefined;
    protected updateClip(effect: tav.TransformEffect): Promise<void>;
    private updateTransform;
    /**
     * Get or set the transform data with a Transform2D object.
     */
    get transform2D(): Readonly<Transform2D>;
    set transform2D(transform2D: Transform2D);
}
