import { IDesignItem } from '../../../../item/IDesignItem.js';
import { IDesignerCanvas } from '../../IDesignerCanvas.js';
import { AbstractExtension } from '../AbstractExtension.js';
import { IExtensionManager } from '../IExtensionManger.js';
export declare class ProjectiveTransformExtension extends AbstractExtension {
    private _outline?;
    private _handles;
    private _handleCrossHorizontalLines;
    private _handleCrossVerticalLines;
    private _activeHandleIndex;
    private _baseTransform;
    private _projectiveTransform;
    private _targetPoints;
    constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
    extend(cache: Record<string | symbol, any>, event?: Event): void;
    refresh(cache: Record<string | symbol, any>, event?: Event): void;
    dispose(): void;
    private _handlePointerEvent;
    private _startDrag;
    private _convertQuadToLocalPoints;
    private _getLocalPointerPoint;
    private _applyPreviewTransform;
    private _commitTransform;
    private _restorePersistedTransform;
    private _buildProjectiveTransform;
    private _createProjectiveMatrix;
    private _serializeMatrix3d;
    private _formatMatrixNumber;
    private _buildTransform;
    private _parseTransform;
    private _splitTransformFunctions;
    private _pointsApproximatelyEqual;
}
