/**
 * Action event type definitions — state machine constants and environment interface.
 *
 * @module
 */
import { z } from 'zod';
import type { Logger } from '@fuzdev/fuz_util/log.js';
import type { ActionEventPhase, ActionKind, ActionSpecUnion } from './action_spec.js';
export declare const ActionExecutor: z.ZodEnum<{
    frontend: "frontend";
    backend: "backend";
}>;
export type ActionExecutor = z.infer<typeof ActionExecutor>;
export declare const ActionEventStep: z.ZodEnum<{
    initial: "initial";
    parsed: "parsed";
    handling: "handling";
    handled: "handled";
    failed: "failed";
}>;
export type ActionEventStep = z.infer<typeof ActionEventStep>;
export declare const action_event_step_transitions: Record<ActionEventStep, ReadonlyArray<ActionEventStep>>;
export declare const action_event_phase_by_kind: Record<ActionKind, ReadonlyArray<ActionEventPhase>>;
export declare const action_event_phase_transitions: Record<ActionEventPhase, ActionEventPhase | null>;
export interface ActionEventEnvironment {
    readonly executor: ActionExecutor;
    lookup_action_handler: (method: string, phase: ActionEventPhase) => ((event: any) => any) | undefined;
    lookup_action_spec: (method: string) => ActionSpecUnion | undefined;
    readonly log?: Logger | null;
}
//# sourceMappingURL=action_event_types.d.ts.map