import { Matrix3 } from '@daign/math';
import { GenericNode } from './genericNode';
import { GraphicNode } from './graphicNode';
import { View } from './view';
/**
 * A concrete, renderable copy of a graphic node, belonging to a view.
 */
export declare class PresentationNode extends GenericNode<PresentationNode> {
    view: View;
    sourceNode: GraphicNode;
    /**
     * The projection from view coordinates to the coordinates of the element.
     */
    projectViewToNode: Matrix3;
    /**
     * The projection from the coordinates of the element to view coordinates.
     */
    projectNodeToView: Matrix3;
    /**
     * The projection from the coordinates of the element to view coordinates, not including native
     * transforms.
     */
    projectNodeToViewNonNative: Matrix3;
    /**
     * Method to remove the subscription on the source node.
     */
    private removeSourceNodeSubscription;
    /**
     * Constructor.
     * @param view - The view to which the node belongs.
     * @param sourceNode - The source from which this node is copied.
     */
    constructor(view: View, sourceNode: GraphicNode);
    /**
     * Update the projection matrices of the node and of its children.
     */
    updateProjectionMatrices(): void;
    /**
     * Destroy this node and also remove the links from the source node.
     */
    destroyNode(): void;
}
