import { z } from 'zod';
import { aether } from '../../../aether/aether';
import { telem } from '../../../telem/aether';
import { diagram } from '../../diagram/aether';
export declare const stateZ: z.ZodObject<{
    trigger: z.ZodNumber;
    command: z.ZodOptional<z.ZodString>;
    sink: z.ZodDefault<z.ZodObject<{
        type: z.ZodString;
        props: z.ZodAny;
        transfer: z.ZodOptional<z.ZodArray<z.ZodCustom<ArrayBuffer, ArrayBuffer>>>;
        variant: z.ZodLiteral<"sink">;
        valueType: z.ZodLiteral<"string">;
    }, z.core.$strip>>;
}, z.core.$strip>;
export interface State extends z.input<typeof stateZ> {
}
interface InternalState {
    sink: telem.StringSink;
    prevTrigger: number;
}
export declare class Input extends aether.Leaf<typeof stateZ, InternalState> implements diagram.Element {
    static readonly TYPE = "Input";
    schema: z.ZodObject<{
        trigger: z.ZodNumber;
        command: z.ZodOptional<z.ZodString>;
        sink: z.ZodDefault<z.ZodObject<{
            type: z.ZodString;
            props: z.ZodAny;
            transfer: z.ZodOptional<z.ZodArray<z.ZodCustom<ArrayBuffer, ArrayBuffer>>>;
            variant: z.ZodLiteral<"sink">;
            valueType: z.ZodLiteral<"string">;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    afterUpdate(ctx: aether.Context): void;
    afterDelete(): void;
}
export declare const REGISTRY: aether.ComponentRegistry;
export {};
//# sourceMappingURL=input.d.ts.map