import * as z from "zod";
export declare const TypeEnumSchema: z.ZodEnum<["AGENT", "PLAYER", "UNKNOWN", "WORLD"]>;
export type TypeEnum = z.infer<typeof TypeEnumSchema>;
export declare const SourceSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    type: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["AGENT", "PLAYER", "UNKNOWN", "WORLD"]>, z.ZodNumber]>>;
}, "strip", z.ZodTypeAny, {
    name?: string;
    type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
}, {
    name?: string;
    type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
}>;
export type Source = z.infer<typeof SourceSchema>;
export declare const TargetSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    type: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["AGENT", "PLAYER", "UNKNOWN", "WORLD"]>, z.ZodNumber]>>;
}, "strip", z.ZodTypeAny, {
    name?: string;
    type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
}, {
    name?: string;
    type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
}>;
export type Target = z.infer<typeof TargetSchema>;
export declare const ActorSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    type: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["AGENT", "PLAYER", "UNKNOWN", "WORLD"]>, z.ZodNumber]>>;
}, "strip", z.ZodTypeAny, {
    name?: string;
    type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
}, {
    name?: string;
    type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
}>;
export type Actor = z.infer<typeof ActorSchema>;
export declare const RoutingSchema: z.ZodObject<{
    source: z.ZodOptional<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["AGENT", "PLAYER", "UNKNOWN", "WORLD"]>, z.ZodNumber]>>;
    }, "strip", z.ZodTypeAny, {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    }, {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    }>>;
    target: z.ZodOptional<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["AGENT", "PLAYER", "UNKNOWN", "WORLD"]>, z.ZodNumber]>>;
    }, "strip", z.ZodTypeAny, {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    }, {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    }>>;
    targets: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["AGENT", "PLAYER", "UNKNOWN", "WORLD"]>, z.ZodNumber]>>;
    }, "strip", z.ZodTypeAny, {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    }, {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    source?: {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    };
    targets?: {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    }[];
    target?: {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    };
}, {
    source?: {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    };
    targets?: {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    }[];
    target?: {
        name?: string;
        type?: number | "UNKNOWN" | "PLAYER" | "AGENT" | "WORLD";
    };
}>;
export type Routing = z.infer<typeof RoutingSchema>;
