import { z } from 'zod';
import { aether } from '../../../aether/aether';
import { render } from '../../render';
export declare const canvasStateZ: z.ZodObject<{
    dpr: z.ZodNumber;
    region: z.ZodObject<{
        one: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, z.core.$strip>;
        two: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, z.core.$strip>;
        root: z.ZodObject<{
            x: z.ZodEnum<{
                right: "right";
                left: "left";
            }>;
            y: z.ZodEnum<{
                top: "top";
                bottom: "bottom";
            }>;
        }, z.core.$strip>;
    }, z.core.$strip>;
    bootstrap: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    bootstrapped: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    glCanvas: z.ZodOptional<z.ZodAny>;
    upper2dCanvas: z.ZodOptional<z.ZodAny>;
    lower2dCanvas: z.ZodOptional<z.ZodAny>;
    os: z.ZodUnion<[z.ZodEnum<{
        macOS: "macOS";
        Windows: "Windows";
        Linux: "Linux";
    }>, z.ZodPipe<z.ZodEnum<{
        macos: "macos";
        windows: "windows";
        linux: "linux";
    }>, z.ZodTransform<"macOS" | "Windows" | "Linux", "macos" | "windows" | "linux">>]>;
}, z.core.$strip>;
export declare class Canvas extends aether.Composite<typeof canvasStateZ> {
    static readonly TYPE = "Canvas";
    schema: z.ZodObject<{
        dpr: z.ZodNumber;
        region: z.ZodObject<{
            one: z.ZodObject<{
                x: z.ZodNumber;
                y: z.ZodNumber;
            }, z.core.$strip>;
            two: z.ZodObject<{
                x: z.ZodNumber;
                y: z.ZodNumber;
            }, z.core.$strip>;
            root: z.ZodObject<{
                x: z.ZodEnum<{
                    right: "right";
                    left: "left";
                }>;
                y: z.ZodEnum<{
                    top: "top";
                    bottom: "bottom";
                }>;
            }, z.core.$strip>;
        }, z.core.$strip>;
        bootstrap: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        bootstrapped: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        glCanvas: z.ZodOptional<z.ZodAny>;
        upper2dCanvas: z.ZodOptional<z.ZodAny>;
        lower2dCanvas: z.ZodOptional<z.ZodAny>;
        os: z.ZodUnion<[z.ZodEnum<{
            macOS: "macOS";
            Windows: "Windows";
            Linux: "Linux";
        }>, z.ZodPipe<z.ZodEnum<{
            macos: "macos";
            windows: "windows";
            linux: "linux";
        }>, z.ZodTransform<"macOS" | "Windows" | "Linux", "macos" | "windows" | "linux">>]>;
    }, z.core.$strip>;
    renderCtx: render.Context | null;
    afterUpdate(ctx: aether.Context): void;
}
export declare const REGISTRY: aether.ComponentRegistry;
//# sourceMappingURL=canvas.d.ts.map