import { z } from 'zod';
declare const authTokenV1_2Schema: z.ZodIntersection<z.ZodObject<{
    /** トークンのユニークなid(uuid) */
    jti: z.ZodString;
    /** トークンが発行された日時(UNIX timestamp) */
    iat: z.ZodNumber;
    /** このトークンが無効になる時間を表すタイムスタンプ(UNIX timestamp) */
    exp: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    jti: string;
    iat: number;
    exp: number;
}, {
    jti: string;
    iat: number;
    exp: number;
}>, z.ZodObject<{
    /**
     * tokenの権限を表すクレーム[version:1,2,undefined]
     * */
    scope: z.ZodObject<{
        app: z.ZodObject<{
            id: z.ZodString;
            analytics: z.ZodOptional<z.ZodBoolean>;
            actions: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodEnum<["read"]>, "read", "read">, "many">>;
            channels: z.ZodOptional<z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">>>, "many">>;
            turn: z.ZodOptional<z.ZodBoolean>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            id: z.ZodString;
            analytics: z.ZodOptional<z.ZodBoolean>;
            actions: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodEnum<["read"]>, "read", "read">, "many">>;
            channels: z.ZodOptional<z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">>>, "many">>;
            turn: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            id: z.ZodString;
            analytics: z.ZodOptional<z.ZodBoolean>;
            actions: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodEnum<["read"]>, "read", "read">, "many">>;
            channels: z.ZodOptional<z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">>>, "many">>;
            turn: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough">>;
    }, "strip", z.ZodTypeAny, {
        app: {
            id: string;
            actions?: "read"[] | undefined;
            analytics?: boolean | undefined;
            channels?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                actions: ("create" | "write" | "delete" | "updateMetadata" | "read")[];
                members: ({
                    id?: string | undefined;
                    name?: string | undefined;
                } & {
                    actions: ("create" | "write" | "delete" | "updateMetadata" | "signal")[];
                    publication?: z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    subscription?: z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                } & {
                    [k: string]: unknown;
                })[];
                sfuBots?: z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">[] | undefined;
            } & {
                [k: string]: unknown;
            })[] | undefined;
            turn?: boolean | undefined;
        } & {
            [k: string]: unknown;
        };
    }, {
        app: {
            id: string;
            actions?: "read"[] | undefined;
            analytics?: boolean | undefined;
            channels?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                actions: ("create" | "write" | "delete" | "updateMetadata" | "read")[];
                members: ({
                    id?: string | undefined;
                    name?: string | undefined;
                } & {
                    actions: ("create" | "write" | "delete" | "updateMetadata" | "signal")[];
                    publication?: z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    subscription?: z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                } & {
                    [k: string]: unknown;
                })[];
                sfuBots?: z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">[] | undefined;
            } & {
                [k: string]: unknown;
            })[] | undefined;
            turn?: boolean | undefined;
        } & {
            [k: string]: unknown;
        };
    }>;
    /**
     * tokenのバージョン[version:1,2,undefined]
     * - 未指定やundefinedの場合は1として扱われます。
     * - 3の場合とでscopeの構造に違いがあります。
     * */
    version: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<undefined>]>>;
}, "strip", z.ZodTypeAny, {
    scope: {
        app: {
            id: string;
            actions?: "read"[] | undefined;
            analytics?: boolean | undefined;
            channels?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                actions: ("create" | "write" | "delete" | "updateMetadata" | "read")[];
                members: ({
                    id?: string | undefined;
                    name?: string | undefined;
                } & {
                    actions: ("create" | "write" | "delete" | "updateMetadata" | "signal")[];
                    publication?: z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    subscription?: z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                } & {
                    [k: string]: unknown;
                })[];
                sfuBots?: z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">[] | undefined;
            } & {
                [k: string]: unknown;
            })[] | undefined;
            turn?: boolean | undefined;
        } & {
            [k: string]: unknown;
        };
    };
    version?: 1 | 2 | undefined;
}, {
    scope: {
        app: {
            id: string;
            actions?: "read"[] | undefined;
            analytics?: boolean | undefined;
            channels?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                actions: ("create" | "write" | "delete" | "updateMetadata" | "read")[];
                members: ({
                    id?: string | undefined;
                    name?: string | undefined;
                } & {
                    actions: ("create" | "write" | "delete" | "updateMetadata" | "signal")[];
                    publication?: z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    subscription?: z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                } & {
                    [k: string]: unknown;
                })[];
                sfuBots?: z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">[] | undefined;
            } & {
                [k: string]: unknown;
            })[] | undefined;
            turn?: boolean | undefined;
        } & {
            [k: string]: unknown;
        };
    };
    version?: 1 | 2 | undefined;
}>>;
export declare type AuthTokenV1_2 = z.input<typeof authTokenV1_2Schema>;
declare const authTokenV3Schema: z.ZodIntersection<z.ZodObject<{
    /** トークンのユニークなid(uuid) */
    jti: z.ZodString;
    /** トークンが発行された日時(UNIX timestamp) */
    iat: z.ZodNumber;
    /** このトークンが無効になる時間を表すタイムスタンプ(UNIX timestamp) */
    exp: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    jti: string;
    iat: number;
    exp: number;
}, {
    jti: string;
    iat: number;
    exp: number;
}>, z.ZodObject<{
    /**
     * tokenの権限を表すクレーム[version:3]
     * */
    scope: z.ZodObject<{
        appId: z.ZodString;
        analytics: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        noiseCancelling: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        turn: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        rooms: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, z.ZodObject<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>, "many">;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        appId: z.ZodString;
        analytics: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        noiseCancelling: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        turn: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        rooms: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, z.ZodObject<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>, "many">;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        appId: z.ZodString;
        analytics: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        noiseCancelling: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        turn: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        rooms: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, z.ZodObject<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>, "many">;
    }, z.ZodTypeAny, "passthrough">>;
    /**
     * tokenのバージョン[version:3]
     * - 2以下の場合とでscopeの構造に違いがあります。
     * */
    version: z.ZodLiteral<3>;
}, "strip", z.ZodTypeAny, {
    scope: {
        appId: string;
        rooms: ({
            id?: string | undefined;
            name?: string | undefined;
        } & {
            methods: ("create" | "updateMetadata" | "close")[];
            member?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                methods: ("updateMetadata" | "publish" | "subscribe")[];
            } & {
                [k: string]: unknown;
            }) | undefined;
            sfu?: {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            } | undefined;
            stt?: {
                enabled?: boolean | undefined;
            } | undefined;
        } & {
            [k: string]: unknown;
        })[];
        analytics?: {
            enabled?: boolean | undefined;
        } | undefined;
        turn?: {
            enabled?: boolean | undefined;
        } | undefined;
        noiseCancelling?: {
            enabled?: boolean | undefined;
        } | undefined;
    } & {
        [k: string]: unknown;
    };
    version: 3;
}, {
    scope: {
        appId: string;
        rooms: ({
            id?: string | undefined;
            name?: string | undefined;
        } & {
            methods: ("create" | "updateMetadata" | "close")[];
            member?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                methods: ("updateMetadata" | "publish" | "subscribe")[];
            } & {
                [k: string]: unknown;
            }) | undefined;
            sfu?: {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            } | undefined;
            stt?: {
                enabled?: boolean | undefined;
            } | undefined;
        } & {
            [k: string]: unknown;
        })[];
        analytics?: {
            enabled?: boolean | undefined;
        } | undefined;
        turn?: {
            enabled?: boolean | undefined;
        } | undefined;
        noiseCancelling?: {
            enabled?: boolean | undefined;
        } | undefined;
    } & {
        [k: string]: unknown;
    };
    version: 3;
}>>;
export declare type AuthTokenV3 = z.input<typeof authTokenV3Schema>;
/**@internal */
export declare const AuthTokenSchema: z.ZodUnion<[z.ZodIntersection<z.ZodObject<{
    /** トークンのユニークなid(uuid) */
    jti: z.ZodString;
    /** トークンが発行された日時(UNIX timestamp) */
    iat: z.ZodNumber;
    /** このトークンが無効になる時間を表すタイムスタンプ(UNIX timestamp) */
    exp: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    jti: string;
    iat: number;
    exp: number;
}, {
    jti: string;
    iat: number;
    exp: number;
}>, z.ZodObject<{
    /**
     * tokenの権限を表すクレーム[version:1,2,undefined]
     * */
    scope: z.ZodObject<{
        app: z.ZodObject<{
            id: z.ZodString;
            analytics: z.ZodOptional<z.ZodBoolean>;
            actions: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodEnum<["read"]>, "read", "read">, "many">>;
            channels: z.ZodOptional<z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">>>, "many">>;
            turn: z.ZodOptional<z.ZodBoolean>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            id: z.ZodString;
            analytics: z.ZodOptional<z.ZodBoolean>;
            actions: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodEnum<["read"]>, "read", "read">, "many">>;
            channels: z.ZodOptional<z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">>>, "many">>;
            turn: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            id: z.ZodString;
            analytics: z.ZodOptional<z.ZodBoolean>;
            actions: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodEnum<["read"]>, "read", "read">, "many">>;
            channels: z.ZodOptional<z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "read", "create", "delete", "updateMetadata"]>, "create" | "write" | "delete" | "updateMetadata" | "read", "create" | "write" | "delete" | "updateMetadata" | "read">, "many">;
                members: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, {
                    id?: string | undefined;
                    name?: string | undefined;
                }, {
                    id?: string | undefined;
                    name?: string | undefined;
                }>, z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "signal"]>, "create" | "write" | "delete" | "updateMetadata" | "signal", "create" | "write" | "delete" | "updateMetadata" | "signal">, "many">;
                    publication: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                    subscription: z.ZodOptional<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>>;
                }, z.ZodTypeAny, "passthrough">>>, "many">;
                sfuBots: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">>, "many">>;
            }, z.ZodTypeAny, "passthrough">>>, "many">>;
            turn: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough">>;
    }, "strip", z.ZodTypeAny, {
        app: {
            id: string;
            actions?: "read"[] | undefined;
            analytics?: boolean | undefined;
            channels?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                actions: ("create" | "write" | "delete" | "updateMetadata" | "read")[];
                members: ({
                    id?: string | undefined;
                    name?: string | undefined;
                } & {
                    actions: ("create" | "write" | "delete" | "updateMetadata" | "signal")[];
                    publication?: z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    subscription?: z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                } & {
                    [k: string]: unknown;
                })[];
                sfuBots?: z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">[] | undefined;
            } & {
                [k: string]: unknown;
            })[] | undefined;
            turn?: boolean | undefined;
        } & {
            [k: string]: unknown;
        };
    }, {
        app: {
            id: string;
            actions?: "read"[] | undefined;
            analytics?: boolean | undefined;
            channels?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                actions: ("create" | "write" | "delete" | "updateMetadata" | "read")[];
                members: ({
                    id?: string | undefined;
                    name?: string | undefined;
                } & {
                    actions: ("create" | "write" | "delete" | "updateMetadata" | "signal")[];
                    publication?: z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    subscription?: z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                } & {
                    [k: string]: unknown;
                })[];
                sfuBots?: z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">[] | undefined;
            } & {
                [k: string]: unknown;
            })[] | undefined;
            turn?: boolean | undefined;
        } & {
            [k: string]: unknown;
        };
    }>;
    /**
     * tokenのバージョン[version:1,2,undefined]
     * - 未指定やundefinedの場合は1として扱われます。
     * - 3の場合とでscopeの構造に違いがあります。
     * */
    version: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<undefined>]>>;
}, "strip", z.ZodTypeAny, {
    scope: {
        app: {
            id: string;
            actions?: "read"[] | undefined;
            analytics?: boolean | undefined;
            channels?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                actions: ("create" | "write" | "delete" | "updateMetadata" | "read")[];
                members: ({
                    id?: string | undefined;
                    name?: string | undefined;
                } & {
                    actions: ("create" | "write" | "delete" | "updateMetadata" | "signal")[];
                    publication?: z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    subscription?: z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                } & {
                    [k: string]: unknown;
                })[];
                sfuBots?: z.objectOutputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">[] | undefined;
            } & {
                [k: string]: unknown;
            })[] | undefined;
            turn?: boolean | undefined;
        } & {
            [k: string]: unknown;
        };
    };
    version?: 1 | 2 | undefined;
}, {
    scope: {
        app: {
            id: string;
            actions?: "read"[] | undefined;
            analytics?: boolean | undefined;
            channels?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                actions: ("create" | "write" | "delete" | "updateMetadata" | "read")[];
                members: ({
                    id?: string | undefined;
                    name?: string | undefined;
                } & {
                    actions: ("create" | "write" | "delete" | "updateMetadata" | "signal")[];
                    publication?: z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete", "updateMetadata", "enable", "disable"]>, "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable", "create" | "write" | "delete" | "updateMetadata" | "enable" | "disable">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    subscription?: z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["write", "create", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                } & {
                    [k: string]: unknown;
                })[];
                sfuBots?: z.objectInputType<{
                    actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    forwardings: z.ZodArray<z.ZodObject<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        actions: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "write", "delete"]>, "create" | "write" | "delete", "create" | "write" | "delete">, "many">;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, z.ZodTypeAny, "passthrough">[] | undefined;
            } & {
                [k: string]: unknown;
            })[] | undefined;
            turn?: boolean | undefined;
        } & {
            [k: string]: unknown;
        };
    };
    version?: 1 | 2 | undefined;
}>>, z.ZodIntersection<z.ZodObject<{
    /** トークンのユニークなid(uuid) */
    jti: z.ZodString;
    /** トークンが発行された日時(UNIX timestamp) */
    iat: z.ZodNumber;
    /** このトークンが無効になる時間を表すタイムスタンプ(UNIX timestamp) */
    exp: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    jti: string;
    iat: number;
    exp: number;
}, {
    jti: string;
    iat: number;
    exp: number;
}>, z.ZodObject<{
    /**
     * tokenの権限を表すクレーム[version:3]
     * */
    scope: z.ZodObject<{
        appId: z.ZodString;
        analytics: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        noiseCancelling: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        turn: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        rooms: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, z.ZodObject<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>, "many">;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        appId: z.ZodString;
        analytics: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        noiseCancelling: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        turn: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        rooms: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, z.ZodObject<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>, "many">;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        appId: z.ZodString;
        analytics: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        noiseCancelling: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        turn: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            enabled?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
        }>>;
        rooms: z.ZodArray<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, {
            id?: string | undefined;
            name?: string | undefined;
        }, {
            id?: string | undefined;
            name?: string | undefined;
        }>, z.ZodObject<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["create", "close", "updateMetadata"]>, "create" | "updateMetadata" | "close", "create" | "updateMetadata" | "close">, "many">;
            member: z.ZodOptional<z.ZodIntersection<z.ZodEffects<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, {
                id?: string | undefined;
                name?: string | undefined;
            }, {
                id?: string | undefined;
                name?: string | undefined;
            }>, z.ZodObject<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                methods: z.ZodArray<z.ZodEffects<z.ZodEnum<["publish", "subscribe", "updateMetadata"]>, "updateMetadata" | "publish" | "subscribe", "updateMetadata" | "publish" | "subscribe">, "many">;
            }, z.ZodTypeAny, "passthrough">>>>;
            sfu: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                maxSubscribersLimit: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }, {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                enabled?: boolean | undefined;
            }, {
                enabled?: boolean | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>, "many">;
    }, z.ZodTypeAny, "passthrough">>;
    /**
     * tokenのバージョン[version:3]
     * - 2以下の場合とでscopeの構造に違いがあります。
     * */
    version: z.ZodLiteral<3>;
}, "strip", z.ZodTypeAny, {
    scope: {
        appId: string;
        rooms: ({
            id?: string | undefined;
            name?: string | undefined;
        } & {
            methods: ("create" | "updateMetadata" | "close")[];
            member?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                methods: ("updateMetadata" | "publish" | "subscribe")[];
            } & {
                [k: string]: unknown;
            }) | undefined;
            sfu?: {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            } | undefined;
            stt?: {
                enabled?: boolean | undefined;
            } | undefined;
        } & {
            [k: string]: unknown;
        })[];
        analytics?: {
            enabled?: boolean | undefined;
        } | undefined;
        turn?: {
            enabled?: boolean | undefined;
        } | undefined;
        noiseCancelling?: {
            enabled?: boolean | undefined;
        } | undefined;
    } & {
        [k: string]: unknown;
    };
    version: 3;
}, {
    scope: {
        appId: string;
        rooms: ({
            id?: string | undefined;
            name?: string | undefined;
        } & {
            methods: ("create" | "updateMetadata" | "close")[];
            member?: ({
                id?: string | undefined;
                name?: string | undefined;
            } & {
                methods: ("updateMetadata" | "publish" | "subscribe")[];
            } & {
                [k: string]: unknown;
            }) | undefined;
            sfu?: {
                enabled?: boolean | undefined;
                maxSubscribersLimit?: number | undefined;
            } | undefined;
            stt?: {
                enabled?: boolean | undefined;
            } | undefined;
        } & {
            [k: string]: unknown;
        })[];
        analytics?: {
            enabled?: boolean | undefined;
        } | undefined;
        turn?: {
            enabled?: boolean | undefined;
        } | undefined;
        noiseCancelling?: {
            enabled?: boolean | undefined;
        } | undefined;
    } & {
        [k: string]: unknown;
    };
    version: 3;
}>>]>;
export declare type AuthToken = z.input<typeof AuthTokenSchema>;
export {};
//# sourceMappingURL=token.d.ts.map