import { z } from 'zod'; import { aether } from '../../../aether/aether'; import { telem } from '../../../telem/aether'; export declare const MODES: readonly ["fire", "momentary", "pulse"]; export declare const modeZ: z.ZodEnum<{ fire: "fire"; momentary: "momentary"; pulse: "pulse"; }>; export type Mode = z.infer; export declare const buttonStateZ: z.ZodObject<{ sink: z.ZodDefault>>; variant: z.ZodLiteral<"sink">; valueType: z.ZodLiteral<"boolean">; }, z.core.$strip>>; mode: z.ZodDefault>; }, z.core.$strip>; export declare const buttonMethodsZ: { onMouseDown: z.ZodFunction, z.ZodVoid>; onMouseUp: z.ZodFunction, z.ZodVoid>; }; interface InternalState { sink: telem.BooleanSink; } export declare class Button extends aether.Leaf implements aether.HandlersFromSchema { static readonly TYPE = "Button"; static readonly METHODS: { onMouseDown: z.ZodFunction, z.ZodVoid>; onMouseUp: z.ZodFunction, z.ZodVoid>; }; static readonly z: z.ZodObject<{ sink: z.ZodDefault>>; variant: z.ZodLiteral<"sink">; valueType: z.ZodLiteral<"boolean">; }, z.core.$strip>>; mode: z.ZodDefault>; }, z.core.$strip>; schema: z.ZodObject<{ sink: z.ZodDefault>>; variant: z.ZodLiteral<"sink">; valueType: z.ZodLiteral<"boolean">; }, z.core.$strip>>; mode: z.ZodDefault>; }, z.core.$strip>; methods: { onMouseDown: z.ZodFunction, z.ZodVoid>; onMouseUp: z.ZodFunction, z.ZodVoid>; }; afterUpdate(ctx: aether.Context): void; onMouseDown(): void; onMouseUp(): void; afterDelete(): void; } export declare const REGISTRY: aether.ComponentRegistry; export {}; //# sourceMappingURL=button.d.ts.map