/**
 * Event-Driven Workflow Schema
 * Defines strict types and validation rules for event-driven system architecture
 */
import { z } from 'zod';
/**
 * Main Event-Driven Workflow Schema
 */
export declare const EventDrivenWorkflowSchema: z.ZodEffects<z.ZodObject<{
    workflow: z.ZodObject<{
        id: z.ZodString;
        version: z.ZodString;
        name: z.ZodString;
        description: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string;
        name: string;
        description: string;
        version: string;
    }, {
        id: string;
        name: string;
        description: string;
        version: string;
    }>;
    events: z.ZodRecord<z.ZodString, z.ZodObject<{
        description: z.ZodString;
        payload: z.ZodRecord<z.ZodString, z.ZodEnum<["string", "number", "boolean", "array", "object"]>>;
    }, "strip", z.ZodTypeAny, {
        description: string;
        payload: Record<string, "string" | "number" | "boolean" | "object" | "array">;
    }, {
        description: string;
        payload: Record<string, "string" | "number" | "boolean" | "object" | "array">;
    }>>;
    actors: z.ZodRecord<z.ZodString, z.ZodObject<{
        type: z.ZodEnum<["human", "system"]>;
        name: z.ZodString;
        description: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        type: "human" | "system";
        description: string;
    }, {
        name: string;
        type: "human" | "system";
        description: string;
    }>>;
    components: z.ZodRecord<z.ZodString, z.ZodObject<{
        description: z.ZodString;
        emits: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        consumes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        description: string;
        emits: string[];
        consumes: string[];
    }, {
        description: string;
        emits?: string[] | undefined;
        consumes?: string[] | undefined;
    }>>;
    workflows: z.ZodRecord<z.ZodString, z.ZodObject<{
        actor: z.ZodString;
        description: z.ZodString;
        steps: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            action: z.ZodString;
            component: z.ZodString;
            emits: z.ZodOptional<z.ZodString>;
            consumes: z.ZodOptional<z.ZodString>;
            depends_on: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            choices: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            on_success: z.ZodOptional<z.ZodString>;
            on_failure: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id: string;
            action: string;
            component: string;
            depends_on?: string[] | undefined;
            emits?: string | undefined;
            consumes?: string | undefined;
            choices?: string[] | undefined;
            on_success?: string | undefined;
            on_failure?: string | undefined;
        }, {
            id: string;
            action: string;
            component: string;
            depends_on?: string[] | undefined;
            emits?: string | undefined;
            consumes?: string | undefined;
            choices?: string[] | undefined;
            on_success?: string | undefined;
            on_failure?: string | undefined;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        description: string;
        steps: {
            id: string;
            action: string;
            component: string;
            depends_on?: string[] | undefined;
            emits?: string | undefined;
            consumes?: string | undefined;
            choices?: string[] | undefined;
            on_success?: string | undefined;
            on_failure?: string | undefined;
        }[];
        actor: string;
    }, {
        description: string;
        steps: {
            id: string;
            action: string;
            component: string;
            depends_on?: string[] | undefined;
            emits?: string | undefined;
            consumes?: string | undefined;
            choices?: string[] | undefined;
            on_success?: string | undefined;
            on_failure?: string | undefined;
        }[];
        actor: string;
    }>>;
    stack: z.ZodRecord<z.ZodString, z.ZodObject<{
        services: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodObject<{
            type: z.ZodString;
            config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
            use_for: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            fallback: z.ZodDefault<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: string;
            fallback: boolean;
            config?: Record<string, any> | undefined;
            use_for?: string[] | undefined;
        }, {
            type: string;
            fallback?: boolean | undefined;
            config?: Record<string, any> | undefined;
            use_for?: string[] | undefined;
        }>>, Record<string, {
            type: string;
            fallback: boolean;
            config?: Record<string, any> | undefined;
            use_for?: string[] | undefined;
        }>, Record<string, {
            type: string;
            fallback?: boolean | undefined;
            config?: Record<string, any> | undefined;
            use_for?: string[] | undefined;
        }>>;
        primary: z.ZodOptional<z.ZodString>;
        routing: z.ZodDefault<z.ZodEnum<["primary_only", "context_based", "load_balanced"]>>;
    }, "strip", z.ZodTypeAny, {
        routing: "primary_only" | "context_based" | "load_balanced";
        services: Record<string, {
            type: string;
            fallback: boolean;
            config?: Record<string, any> | undefined;
            use_for?: string[] | undefined;
        }>;
        primary?: string | undefined;
    }, {
        services: Record<string, {
            type: string;
            fallback?: boolean | undefined;
            config?: Record<string, any> | undefined;
            use_for?: string[] | undefined;
        }>;
        routing?: "primary_only" | "context_based" | "load_balanced" | undefined;
        primary?: string | undefined;
    }>>;
    actions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        description: z.ZodString;
        component: z.ZodString;
        emits: z.ZodOptional<z.ZodString>;
        consumes: z.ZodOptional<z.ZodString>;
        inputs: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodString>, "many">>;
    }, "strip", z.ZodTypeAny, {
        description: string;
        component: string;
        emits?: string | undefined;
        consumes?: string | undefined;
        inputs?: Record<string, string>[] | undefined;
    }, {
        description: string;
        component: string;
        emits?: string | undefined;
        consumes?: string | undefined;
        inputs?: Record<string, string>[] | undefined;
    }>>>;
    stages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        description: z.ZodOptional<z.ZodString>;
        infrastructure: z.ZodObject<{
            domains: z.ZodOptional<z.ZodObject<{
                web: z.ZodOptional<z.ZodString>;
                api: z.ZodOptional<z.ZodString>;
                docs: z.ZodOptional<z.ZodString>;
                portal: z.ZodOptional<z.ZodString>;
                admin: z.ZodOptional<z.ZodString>;
                marketing: z.ZodOptional<z.ZodString>;
                custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            }, "strip", z.ZodTypeAny, {
                custom?: Record<string, string> | undefined;
                web?: string | undefined;
                api?: string | undefined;
                docs?: string | undefined;
                portal?: string | undefined;
                admin?: string | undefined;
                marketing?: string | undefined;
            }, {
                custom?: Record<string, string> | undefined;
                web?: string | undefined;
                api?: string | undefined;
                docs?: string | undefined;
                portal?: string | undefined;
                admin?: string | undefined;
                marketing?: string | undefined;
            }>>;
            databases: z.ZodObject<{
                primary: z.ZodString;
                analytics: z.ZodOptional<z.ZodString>;
                cache: z.ZodOptional<z.ZodString>;
                custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            }, "strip", z.ZodTypeAny, {
                primary: string;
                custom?: Record<string, string> | undefined;
                analytics?: string | undefined;
                cache?: string | undefined;
            }, {
                primary: string;
                custom?: Record<string, string> | undefined;
                analytics?: string | undefined;
                cache?: string | undefined;
            }>;
            services: z.ZodOptional<z.ZodObject<{
                redis: z.ZodOptional<z.ZodObject<{
                    provider: z.ZodString;
                    connection: z.ZodString;
                    config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                }, "strip", z.ZodTypeAny, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }>>;
                queue: z.ZodOptional<z.ZodObject<{
                    provider: z.ZodString;
                    connection: z.ZodString;
                    config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                }, "strip", z.ZodTypeAny, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }>>;
                storage: z.ZodOptional<z.ZodObject<{
                    provider: z.ZodString;
                    connection: z.ZodString;
                    config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                }, "strip", z.ZodTypeAny, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }>>;
                search: z.ZodOptional<z.ZodObject<{
                    provider: z.ZodString;
                    connection: z.ZodString;
                    config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                }, "strip", z.ZodTypeAny, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }>>;
                email: z.ZodOptional<z.ZodObject<{
                    provider: z.ZodString;
                    connection: z.ZodString;
                    config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                }, "strip", z.ZodTypeAny, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }>>;
                cdn: z.ZodOptional<z.ZodObject<{
                    provider: z.ZodString;
                    connection: z.ZodString;
                    config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                }, "strip", z.ZodTypeAny, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }>>;
                monitoring: z.ZodOptional<z.ZodObject<{
                    provider: z.ZodString;
                    connection: z.ZodString;
                    config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                }, "strip", z.ZodTypeAny, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }>>;
                custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                    provider: z.ZodString;
                    connection: z.ZodString;
                    config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                }, "strip", z.ZodTypeAny, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }>>>;
            }, "strip", z.ZodTypeAny, {
                redis?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                custom?: Record<string, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }> | undefined;
                queue?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                storage?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                search?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                email?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                cdn?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                monitoring?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
            }, {
                redis?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                custom?: Record<string, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }> | undefined;
                queue?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                storage?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                search?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                email?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                cdn?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                monitoring?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
            }>>;
            workers: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodDefault<z.ZodBoolean>;
                concurrency: z.ZodDefault<z.ZodNumber>;
                queues: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
                config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
            }, "strip", z.ZodTypeAny, {
                enabled: boolean;
                concurrency: number;
                queues: string[];
                config?: Record<string, any> | undefined;
            }, {
                config?: Record<string, any> | undefined;
                enabled?: boolean | undefined;
                concurrency?: number | undefined;
                queues?: string[] | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            databases: {
                primary: string;
                custom?: Record<string, string> | undefined;
                analytics?: string | undefined;
                cache?: string | undefined;
            };
            services?: {
                redis?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                custom?: Record<string, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }> | undefined;
                queue?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                storage?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                search?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                email?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                cdn?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                monitoring?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
            } | undefined;
            domains?: {
                custom?: Record<string, string> | undefined;
                web?: string | undefined;
                api?: string | undefined;
                docs?: string | undefined;
                portal?: string | undefined;
                admin?: string | undefined;
                marketing?: string | undefined;
            } | undefined;
            workers?: {
                enabled: boolean;
                concurrency: number;
                queues: string[];
                config?: Record<string, any> | undefined;
            } | undefined;
        }, {
            databases: {
                primary: string;
                custom?: Record<string, string> | undefined;
                analytics?: string | undefined;
                cache?: string | undefined;
            };
            services?: {
                redis?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                custom?: Record<string, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }> | undefined;
                queue?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                storage?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                search?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                email?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                cdn?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                monitoring?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
            } | undefined;
            domains?: {
                custom?: Record<string, string> | undefined;
                web?: string | undefined;
                api?: string | undefined;
                docs?: string | undefined;
                portal?: string | undefined;
                admin?: string | undefined;
                marketing?: string | undefined;
            } | undefined;
            workers?: {
                config?: Record<string, any> | undefined;
                enabled?: boolean | undefined;
                concurrency?: number | undefined;
                queues?: string[] | undefined;
            } | undefined;
        }>;
        config: z.ZodOptional<z.ZodObject<{
            log_level: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
            development_tools: z.ZodOptional<z.ZodBoolean>;
            error_details: z.ZodDefault<z.ZodBoolean>;
            cors: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodDefault<z.ZodBoolean>;
                origins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            }, "strip", z.ZodTypeAny, {
                enabled: boolean;
                origins?: string[] | undefined;
            }, {
                enabled?: boolean | undefined;
                origins?: string[] | undefined;
            }>>;
            rate_limiting: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodDefault<z.ZodBoolean>;
                requests_per_minute: z.ZodDefault<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled: boolean;
                requests_per_minute: number;
            }, {
                enabled?: boolean | undefined;
                requests_per_minute?: number | undefined;
            }>>;
            custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        }, "strip", z.ZodTypeAny, {
            log_level: "debug" | "info" | "warn" | "error";
            error_details: boolean;
            custom?: Record<string, any> | undefined;
            development_tools?: boolean | undefined;
            cors?: {
                enabled: boolean;
                origins?: string[] | undefined;
            } | undefined;
            rate_limiting?: {
                enabled: boolean;
                requests_per_minute: number;
            } | undefined;
        }, {
            custom?: Record<string, any> | undefined;
            log_level?: "debug" | "info" | "warn" | "error" | undefined;
            development_tools?: boolean | undefined;
            error_details?: boolean | undefined;
            cors?: {
                enabled?: boolean | undefined;
                origins?: string[] | undefined;
            } | undefined;
            rate_limiting?: {
                enabled?: boolean | undefined;
                requests_per_minute?: number | undefined;
            } | undefined;
        }>>;
        env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        infrastructure: {
            databases: {
                primary: string;
                custom?: Record<string, string> | undefined;
                analytics?: string | undefined;
                cache?: string | undefined;
            };
            services?: {
                redis?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                custom?: Record<string, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }> | undefined;
                queue?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                storage?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                search?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                email?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                cdn?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                monitoring?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
            } | undefined;
            domains?: {
                custom?: Record<string, string> | undefined;
                web?: string | undefined;
                api?: string | undefined;
                docs?: string | undefined;
                portal?: string | undefined;
                admin?: string | undefined;
                marketing?: string | undefined;
            } | undefined;
            workers?: {
                enabled: boolean;
                concurrency: number;
                queues: string[];
                config?: Record<string, any> | undefined;
            } | undefined;
        };
        description?: string | undefined;
        config?: {
            log_level: "debug" | "info" | "warn" | "error";
            error_details: boolean;
            custom?: Record<string, any> | undefined;
            development_tools?: boolean | undefined;
            cors?: {
                enabled: boolean;
                origins?: string[] | undefined;
            } | undefined;
            rate_limiting?: {
                enabled: boolean;
                requests_per_minute: number;
            } | undefined;
        } | undefined;
        env?: Record<string, string> | undefined;
    }, {
        infrastructure: {
            databases: {
                primary: string;
                custom?: Record<string, string> | undefined;
                analytics?: string | undefined;
                cache?: string | undefined;
            };
            services?: {
                redis?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                custom?: Record<string, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }> | undefined;
                queue?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                storage?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                search?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                email?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                cdn?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                monitoring?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
            } | undefined;
            domains?: {
                custom?: Record<string, string> | undefined;
                web?: string | undefined;
                api?: string | undefined;
                docs?: string | undefined;
                portal?: string | undefined;
                admin?: string | undefined;
                marketing?: string | undefined;
            } | undefined;
            workers?: {
                config?: Record<string, any> | undefined;
                enabled?: boolean | undefined;
                concurrency?: number | undefined;
                queues?: string[] | undefined;
            } | undefined;
        };
        description?: string | undefined;
        config?: {
            custom?: Record<string, any> | undefined;
            log_level?: "debug" | "info" | "warn" | "error" | undefined;
            development_tools?: boolean | undefined;
            error_details?: boolean | undefined;
            cors?: {
                enabled?: boolean | undefined;
                origins?: string[] | undefined;
            } | undefined;
            rate_limiting?: {
                enabled?: boolean | undefined;
                requests_per_minute?: number | undefined;
            } | undefined;
        } | undefined;
        env?: Record<string, string> | undefined;
    }>>>;
}, "strip", z.ZodTypeAny, {
    components: Record<string, {
        description: string;
        emits: string[];
        consumes: string[];
    }>;
    workflows: Record<string, {
        description: string;
        steps: {
            id: string;
            action: string;
            component: string;
            depends_on?: string[] | undefined;
            emits?: string | undefined;
            consumes?: string | undefined;
            choices?: string[] | undefined;
            on_success?: string | undefined;
            on_failure?: string | undefined;
        }[];
        actor: string;
    }>;
    workflow: {
        id: string;
        name: string;
        description: string;
        version: string;
    };
    actors: Record<string, {
        name: string;
        type: "human" | "system";
        description: string;
    }>;
    stack: Record<string, {
        routing: "primary_only" | "context_based" | "load_balanced";
        services: Record<string, {
            type: string;
            fallback: boolean;
            config?: Record<string, any> | undefined;
            use_for?: string[] | undefined;
        }>;
        primary?: string | undefined;
    }>;
    events: Record<string, {
        description: string;
        payload: Record<string, "string" | "number" | "boolean" | "object" | "array">;
    }>;
    actions?: Record<string, {
        description: string;
        component: string;
        emits?: string | undefined;
        consumes?: string | undefined;
        inputs?: Record<string, string>[] | undefined;
    }> | undefined;
    stages?: Record<string, {
        infrastructure: {
            databases: {
                primary: string;
                custom?: Record<string, string> | undefined;
                analytics?: string | undefined;
                cache?: string | undefined;
            };
            services?: {
                redis?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                custom?: Record<string, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }> | undefined;
                queue?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                storage?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                search?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                email?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                cdn?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                monitoring?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
            } | undefined;
            domains?: {
                custom?: Record<string, string> | undefined;
                web?: string | undefined;
                api?: string | undefined;
                docs?: string | undefined;
                portal?: string | undefined;
                admin?: string | undefined;
                marketing?: string | undefined;
            } | undefined;
            workers?: {
                enabled: boolean;
                concurrency: number;
                queues: string[];
                config?: Record<string, any> | undefined;
            } | undefined;
        };
        description?: string | undefined;
        config?: {
            log_level: "debug" | "info" | "warn" | "error";
            error_details: boolean;
            custom?: Record<string, any> | undefined;
            development_tools?: boolean | undefined;
            cors?: {
                enabled: boolean;
                origins?: string[] | undefined;
            } | undefined;
            rate_limiting?: {
                enabled: boolean;
                requests_per_minute: number;
            } | undefined;
        } | undefined;
        env?: Record<string, string> | undefined;
    }> | undefined;
}, {
    components: Record<string, {
        description: string;
        emits?: string[] | undefined;
        consumes?: string[] | undefined;
    }>;
    workflows: Record<string, {
        description: string;
        steps: {
            id: string;
            action: string;
            component: string;
            depends_on?: string[] | undefined;
            emits?: string | undefined;
            consumes?: string | undefined;
            choices?: string[] | undefined;
            on_success?: string | undefined;
            on_failure?: string | undefined;
        }[];
        actor: string;
    }>;
    workflow: {
        id: string;
        name: string;
        description: string;
        version: string;
    };
    actors: Record<string, {
        name: string;
        type: "human" | "system";
        description: string;
    }>;
    stack: Record<string, {
        services: Record<string, {
            type: string;
            fallback?: boolean | undefined;
            config?: Record<string, any> | undefined;
            use_for?: string[] | undefined;
        }>;
        routing?: "primary_only" | "context_based" | "load_balanced" | undefined;
        primary?: string | undefined;
    }>;
    events: Record<string, {
        description: string;
        payload: Record<string, "string" | "number" | "boolean" | "object" | "array">;
    }>;
    actions?: Record<string, {
        description: string;
        component: string;
        emits?: string | undefined;
        consumes?: string | undefined;
        inputs?: Record<string, string>[] | undefined;
    }> | undefined;
    stages?: Record<string, {
        infrastructure: {
            databases: {
                primary: string;
                custom?: Record<string, string> | undefined;
                analytics?: string | undefined;
                cache?: string | undefined;
            };
            services?: {
                redis?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                custom?: Record<string, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }> | undefined;
                queue?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                storage?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                search?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                email?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                cdn?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                monitoring?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
            } | undefined;
            domains?: {
                custom?: Record<string, string> | undefined;
                web?: string | undefined;
                api?: string | undefined;
                docs?: string | undefined;
                portal?: string | undefined;
                admin?: string | undefined;
                marketing?: string | undefined;
            } | undefined;
            workers?: {
                config?: Record<string, any> | undefined;
                enabled?: boolean | undefined;
                concurrency?: number | undefined;
                queues?: string[] | undefined;
            } | undefined;
        };
        description?: string | undefined;
        config?: {
            custom?: Record<string, any> | undefined;
            log_level?: "debug" | "info" | "warn" | "error" | undefined;
            development_tools?: boolean | undefined;
            error_details?: boolean | undefined;
            cors?: {
                enabled?: boolean | undefined;
                origins?: string[] | undefined;
            } | undefined;
            rate_limiting?: {
                enabled?: boolean | undefined;
                requests_per_minute?: number | undefined;
            } | undefined;
        } | undefined;
        env?: Record<string, string> | undefined;
    }> | undefined;
}>, {
    components: Record<string, {
        description: string;
        emits: string[];
        consumes: string[];
    }>;
    workflows: Record<string, {
        description: string;
        steps: {
            id: string;
            action: string;
            component: string;
            depends_on?: string[] | undefined;
            emits?: string | undefined;
            consumes?: string | undefined;
            choices?: string[] | undefined;
            on_success?: string | undefined;
            on_failure?: string | undefined;
        }[];
        actor: string;
    }>;
    workflow: {
        id: string;
        name: string;
        description: string;
        version: string;
    };
    actors: Record<string, {
        name: string;
        type: "human" | "system";
        description: string;
    }>;
    stack: Record<string, {
        routing: "primary_only" | "context_based" | "load_balanced";
        services: Record<string, {
            type: string;
            fallback: boolean;
            config?: Record<string, any> | undefined;
            use_for?: string[] | undefined;
        }>;
        primary?: string | undefined;
    }>;
    events: Record<string, {
        description: string;
        payload: Record<string, "string" | "number" | "boolean" | "object" | "array">;
    }>;
    actions?: Record<string, {
        description: string;
        component: string;
        emits?: string | undefined;
        consumes?: string | undefined;
        inputs?: Record<string, string>[] | undefined;
    }> | undefined;
    stages?: Record<string, {
        infrastructure: {
            databases: {
                primary: string;
                custom?: Record<string, string> | undefined;
                analytics?: string | undefined;
                cache?: string | undefined;
            };
            services?: {
                redis?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                custom?: Record<string, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }> | undefined;
                queue?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                storage?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                search?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                email?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                cdn?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                monitoring?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
            } | undefined;
            domains?: {
                custom?: Record<string, string> | undefined;
                web?: string | undefined;
                api?: string | undefined;
                docs?: string | undefined;
                portal?: string | undefined;
                admin?: string | undefined;
                marketing?: string | undefined;
            } | undefined;
            workers?: {
                enabled: boolean;
                concurrency: number;
                queues: string[];
                config?: Record<string, any> | undefined;
            } | undefined;
        };
        description?: string | undefined;
        config?: {
            log_level: "debug" | "info" | "warn" | "error";
            error_details: boolean;
            custom?: Record<string, any> | undefined;
            development_tools?: boolean | undefined;
            cors?: {
                enabled: boolean;
                origins?: string[] | undefined;
            } | undefined;
            rate_limiting?: {
                enabled: boolean;
                requests_per_minute: number;
            } | undefined;
        } | undefined;
        env?: Record<string, string> | undefined;
    }> | undefined;
}, {
    components: Record<string, {
        description: string;
        emits?: string[] | undefined;
        consumes?: string[] | undefined;
    }>;
    workflows: Record<string, {
        description: string;
        steps: {
            id: string;
            action: string;
            component: string;
            depends_on?: string[] | undefined;
            emits?: string | undefined;
            consumes?: string | undefined;
            choices?: string[] | undefined;
            on_success?: string | undefined;
            on_failure?: string | undefined;
        }[];
        actor: string;
    }>;
    workflow: {
        id: string;
        name: string;
        description: string;
        version: string;
    };
    actors: Record<string, {
        name: string;
        type: "human" | "system";
        description: string;
    }>;
    stack: Record<string, {
        services: Record<string, {
            type: string;
            fallback?: boolean | undefined;
            config?: Record<string, any> | undefined;
            use_for?: string[] | undefined;
        }>;
        routing?: "primary_only" | "context_based" | "load_balanced" | undefined;
        primary?: string | undefined;
    }>;
    events: Record<string, {
        description: string;
        payload: Record<string, "string" | "number" | "boolean" | "object" | "array">;
    }>;
    actions?: Record<string, {
        description: string;
        component: string;
        emits?: string | undefined;
        consumes?: string | undefined;
        inputs?: Record<string, string>[] | undefined;
    }> | undefined;
    stages?: Record<string, {
        infrastructure: {
            databases: {
                primary: string;
                custom?: Record<string, string> | undefined;
                analytics?: string | undefined;
                cache?: string | undefined;
            };
            services?: {
                redis?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                custom?: Record<string, {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                }> | undefined;
                queue?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                storage?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                search?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                email?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                cdn?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
                monitoring?: {
                    provider: string;
                    connection: string;
                    config?: Record<string, any> | undefined;
                } | undefined;
            } | undefined;
            domains?: {
                custom?: Record<string, string> | undefined;
                web?: string | undefined;
                api?: string | undefined;
                docs?: string | undefined;
                portal?: string | undefined;
                admin?: string | undefined;
                marketing?: string | undefined;
            } | undefined;
            workers?: {
                config?: Record<string, any> | undefined;
                enabled?: boolean | undefined;
                concurrency?: number | undefined;
                queues?: string[] | undefined;
            } | undefined;
        };
        description?: string | undefined;
        config?: {
            custom?: Record<string, any> | undefined;
            log_level?: "debug" | "info" | "warn" | "error" | undefined;
            development_tools?: boolean | undefined;
            error_details?: boolean | undefined;
            cors?: {
                enabled?: boolean | undefined;
                origins?: string[] | undefined;
            } | undefined;
            rate_limiting?: {
                enabled?: boolean | undefined;
                requests_per_minute?: number | undefined;
            } | undefined;
        } | undefined;
        env?: Record<string, string> | undefined;
    }> | undefined;
}>;
export type EventDrivenWorkflow = z.infer<typeof EventDrivenWorkflowSchema>;
//# sourceMappingURL=event-driven-schema.d.ts.map