import { OpenAPIHono } from "@hono/zod-openapi";
import { Bindings, Variables } from "../../types";
export declare const flowApiRoutes: OpenAPIHono<{
    Bindings: Bindings;
    Variables: Variables;
}, {
    "/screen": {
        $get: {
            input: {
                query: {
                    form: string;
                    state: string;
                    screen?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 404;
        } | {
            input: {
                query: {
                    form: string;
                    state: string;
                    screen?: string | undefined;
                };
            };
            output: {
                screen: {
                    action: string;
                    method: "GET" | "POST";
                    components: {
                        id: string;
                        type: string;
                        category?: string | undefined;
                        config?: {
                            [x: string]: any;
                        } | undefined;
                        order?: number | undefined;
                        visible?: boolean | undefined;
                        required?: boolean | undefined;
                        sensitive?: boolean | undefined;
                        label?: string | undefined;
                        hint?: string | undefined;
                        messages?: {
                            text: string;
                            type: "success" | "error" | "info" | "warning";
                            id?: number | undefined;
                        }[] | undefined;
                    }[];
                    title?: string | undefined;
                    description?: string | undefined;
                    messages?: {
                        text: string;
                        type: "success" | "error" | "info" | "warning";
                        id?: number | undefined;
                    }[] | undefined;
                    links?: {
                        text: string;
                        href: string;
                        id?: string | undefined;
                        linkText?: string | undefined;
                    }[] | undefined;
                };
                branding?: {
                    colors?: {
                        primary?: string | undefined;
                        page_background?: string | undefined;
                    } | undefined;
                    logo_url?: string | undefined;
                    favicon_url?: string | undefined;
                    font?: {
                        url?: string | undefined;
                    } | undefined;
                } | undefined;
            };
            outputFormat: "json";
            status: 200;
        };
    };
} & {
    "/:formId/screen": {
        $get: {
            input: {
                param: {
                    formId: string;
                };
            } & {
                query: {
                    state: string;
                    nodeId?: string | undefined;
                };
            };
            output: {};
            outputFormat: string;
            status: 404;
        } | {
            input: {
                param: {
                    formId: string;
                };
            } & {
                query: {
                    state: string;
                    nodeId?: string | undefined;
                };
            };
            output: {
                screen: {
                    action: string;
                    method: "GET" | "POST";
                    components: {
                        id: string;
                        type: string;
                        category?: string | undefined;
                        config?: {
                            [x: string]: any;
                        } | undefined;
                        order?: number | undefined;
                        visible?: boolean | undefined;
                        required?: boolean | undefined;
                        sensitive?: boolean | undefined;
                        label?: string | undefined;
                        hint?: string | undefined;
                        messages?: {
                            text: string;
                            type: "success" | "error" | "info" | "warning";
                            id?: number | undefined;
                        }[] | undefined;
                    }[];
                    title?: string | undefined;
                    description?: string | undefined;
                    messages?: {
                        text: string;
                        type: "success" | "error" | "info" | "warning";
                        id?: number | undefined;
                    }[] | undefined;
                    links?: {
                        text: string;
                        href: string;
                        id?: string | undefined;
                        linkText?: string | undefined;
                    }[] | undefined;
                };
                branding?: {
                    colors?: {
                        primary?: string | undefined;
                        page_background?: string | undefined;
                    } | undefined;
                    logo_url?: string | undefined;
                    favicon_url?: string | undefined;
                    font?: {
                        url?: string | undefined;
                    } | undefined;
                } | undefined;
            };
            outputFormat: "json";
            status: 200;
        };
    };
} & {
    "/screen": {
        $post: {
            input: {
                query: {
                    form: string;
                    state: string;
                    screen?: string | undefined;
                };
            } & {
                json: {
                    data: Record<string, any>;
                };
            };
            output: {};
            outputFormat: string;
            status: 400;
        } | {
            input: {
                query: {
                    form: string;
                    state: string;
                    screen?: string | undefined;
                };
            } & {
                json: {
                    data: Record<string, any>;
                };
            };
            output: {};
            outputFormat: string;
            status: 404;
        } | {
            input: {
                query: {
                    form: string;
                    state: string;
                    screen?: string | undefined;
                };
            } & {
                json: {
                    data: Record<string, any>;
                };
            };
            output: {
                screen: {
                    action: string;
                    method: "GET" | "POST";
                    components: {
                        id: string;
                        type: string;
                        category?: string | undefined;
                        config?: {
                            [x: string]: any;
                        } | undefined;
                        order?: number | undefined;
                        visible?: boolean | undefined;
                        required?: boolean | undefined;
                        sensitive?: boolean | undefined;
                        label?: string | undefined;
                        hint?: string | undefined;
                        messages?: {
                            text: string;
                            type: "success" | "error" | "info" | "warning";
                            id?: number | undefined;
                        }[] | undefined;
                    }[];
                    title?: string | undefined;
                    description?: string | undefined;
                    messages?: {
                        text: string;
                        type: "success" | "error" | "info" | "warning";
                        id?: number | undefined;
                    }[] | undefined;
                    links?: {
                        text: string;
                        href: string;
                        id?: string | undefined;
                        linkText?: string | undefined;
                    }[] | undefined;
                };
                branding?: {
                    colors?: {
                        primary?: string | undefined;
                        page_background?: string | undefined;
                    } | undefined;
                    logo_url?: string | undefined;
                    favicon_url?: string | undefined;
                    font?: {
                        url?: string | undefined;
                    } | undefined;
                } | undefined;
            } | {
                redirect: string;
            } | {
                complete: boolean;
                tokens?: {
                    access_token?: string | undefined;
                    id_token?: string | undefined;
                    refresh_token?: string | undefined;
                } | undefined;
            };
            outputFormat: "json";
            status: 200;
        };
    };
} & {
    "/:formId/screen": {
        $post: {
            input: {
                param: {
                    formId: string;
                };
            } & {
                query: {
                    state: string;
                    nodeId?: string | undefined;
                };
            } & {
                json: {
                    data: Record<string, any>;
                };
            };
            output: {};
            outputFormat: string;
            status: 400;
        } | {
            input: {
                param: {
                    formId: string;
                };
            } & {
                query: {
                    state: string;
                    nodeId?: string | undefined;
                };
            } & {
                json: {
                    data: Record<string, any>;
                };
            };
            output: {};
            outputFormat: string;
            status: 404;
        } | {
            input: {
                param: {
                    formId: string;
                };
            } & {
                query: {
                    state: string;
                    nodeId?: string | undefined;
                };
            } & {
                json: {
                    data: Record<string, any>;
                };
            };
            output: {
                screen: {
                    action: string;
                    method: "GET" | "POST";
                    components: {
                        id: string;
                        type: string;
                        category?: string | undefined;
                        config?: {
                            [x: string]: any;
                        } | undefined;
                        order?: number | undefined;
                        visible?: boolean | undefined;
                        required?: boolean | undefined;
                        sensitive?: boolean | undefined;
                        label?: string | undefined;
                        hint?: string | undefined;
                        messages?: {
                            text: string;
                            type: "success" | "error" | "info" | "warning";
                            id?: number | undefined;
                        }[] | undefined;
                    }[];
                    title?: string | undefined;
                    description?: string | undefined;
                    messages?: {
                        text: string;
                        type: "success" | "error" | "info" | "warning";
                        id?: number | undefined;
                    }[] | undefined;
                    links?: {
                        text: string;
                        href: string;
                        id?: string | undefined;
                        linkText?: string | undefined;
                    }[] | undefined;
                };
                branding?: {
                    colors?: {
                        primary?: string | undefined;
                        page_background?: string | undefined;
                    } | undefined;
                    logo_url?: string | undefined;
                    favicon_url?: string | undefined;
                    font?: {
                        url?: string | undefined;
                    } | undefined;
                } | undefined;
            } | {
                redirect: string;
            } | {
                complete: boolean;
                tokens?: {
                    access_token?: string | undefined;
                    id_token?: string | undefined;
                    refresh_token?: string | undefined;
                } | undefined;
            };
            outputFormat: "json";
            status: 200;
        };
    };
}, "/">;
