import { ComponentReturn } from '@glint/template/-private/integration';

export declare const DESTROYED_NODES: WeakSet<CanvasBaseElement>;
export declare class CanvasBaseElement {
    toCanvas(_: CanvasRenderingContext2D): void;
    parentElement: CanvasBaseElement | undefined | HTMLCanvasElement;
    get parentNode(): HTMLCanvasElement | CanvasBaseElement | undefined;
    removeChild(child: CanvasBaseElement): void;
    children: CanvasBaseElement[];
    isConnected: boolean;
    remove(): void;
    get childNodes(): CanvasBaseElement[];
}
export declare class CanvasComment extends CanvasBaseElement {
}
export declare class CanvasFragment extends CanvasBaseElement {
}
export declare class CanvasTextElement extends CanvasBaseElement {
    attrs: {
        font: string;
        fillStyle: string;
        x: number;
        y: number;
    };
    text: string;
    toCanvas(ctx: CanvasRenderingContext2D): void;
}
export declare class CanvasRectElement extends CanvasBaseElement {
    attrs: {
        x: number;
        y: number;
        width: number;
        height: number;
        fillStyle: string;
        strokeStyle: string;
        lineWidth: number;
    };
    toCanvas(ctx: CanvasRenderingContext2D): void;
}
export declare class CanvasCircleElement extends CanvasBaseElement {
    attrs: {
        cx: number;
        cy: number;
        r: number;
        fillStyle: string;
        strokeStyle: string;
        lineWidth: number;
    };
    toCanvas(ctx: CanvasRenderingContext2D): void;
}
export declare class CanvasLineElement extends CanvasBaseElement {
    attrs: {
        x1: number;
        y1: number;
        x2: number;
        y2: number;
        strokeStyle: string;
        lineWidth: number;
        lineCap: CanvasLineCap;
    };
    toCanvas(ctx: CanvasRenderingContext2D): void;
}
export declare function CanvasRenderer(): ComponentReturn<{
    default: [];
}, HTMLCanvasElement>;
