import { z } from 'zod';
import { aether } from '../../../aether/aether';
import { render } from '../../render';
export declare const eraserStateZ: z.ZodObject<{
    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>;
    enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strip>;
interface InternalState {
    renderCtx: render.Context;
}
export declare class Eraser extends aether.Leaf<typeof eraserStateZ, InternalState> {
    static readonly TYPE = "eraser";
    schema: z.ZodObject<{
        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>;
        enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    }, z.core.$strip>;
    afterUpdate(ctx: aether.Context): void;
    afterDelete(): void;
    renderOnLifecycleChange(): void;
    render(): void;
}
export declare const REGISTRY: aether.ComponentRegistry;
export {};
//# sourceMappingURL=eraser.d.ts.map