import * as React from 'react';
import { CursorComponent } from '../Cursor';
import type { TLAssets, TLBinding, TLBounds, TLPage, TLPageState, TLPerformanceMode, TLShape, TLSnapLine, TLUsers } from '../../types';
export interface CanvasProps<T extends TLShape, M extends Record<string, unknown>> {
    page: TLPage<T, TLBinding>;
    pageState: TLPageState;
    assets: TLAssets;
    snapLines?: TLSnapLine[];
    eraseLine?: number[][];
    grid?: number;
    users?: TLUsers;
    userId?: string;
    hideBounds: boolean;
    hideHandles: boolean;
    hideIndicators: boolean;
    hideBindingHandles: boolean;
    hideCloneHandles: boolean;
    hideResizeHandles: boolean;
    hideRotateHandle: boolean;
    hideGrid: boolean;
    showDashedBrush: boolean;
    externalContainerRef?: React.RefObject<HTMLElement>;
    performanceMode?: TLPerformanceMode;
    components?: {
        Cursor?: CursorComponent;
    };
    meta?: M;
    id?: string;
    onBoundsChange: (bounds: TLBounds) => void;
    hideCursors?: boolean;
}
declare function _Canvas<T extends TLShape, M extends Record<string, unknown>>({ id, page, pageState, assets, snapLines, eraseLine, grid, users, userId, components, meta, performanceMode, showDashedBrush, hideHandles, hideBounds, hideIndicators, hideBindingHandles, hideCloneHandles, hideResizeHandles, hideRotateHandle, hideGrid, onBoundsChange, hideCursors, }: CanvasProps<T, M>): JSX.Element;
export declare const Canvas: React.MemoExoticComponent<typeof _Canvas>;
export {};
//# sourceMappingURL=Canvas.d.ts.map