UNPKG

appwrite-utils

Version:

`appwrite-utils` is a comprehensive TypeScript library designed to streamline the development process for Appwrite projects. It provides a suite of utilities and helper functions that facilitate data manipulation, schema management, and seamless integrati

1,262 lines 97.6 kB
import { z } from "zod"; export declare const CollectionSchema: z.ZodObject<{ name: z.ZodString; $id: z.ZodOptional<z.ZodString>; enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; documentSecurity: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; description: z.ZodOptional<z.ZodString>; $createdAt: z.ZodString; $updatedAt: z.ZodString; $permissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{ permission: z.ZodString; target: z.ZodString; }, "strip", z.ZodTypeAny, { permission: string; target: string; }, { permission: string; target: string; }>, "many">>>; attributes: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"string">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; size: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; encrypted: z.ZodOptional<z.ZodBoolean>; format: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>; }, "strip", z.ZodTypeAny, { type: "string"; key: string; size: number; format?: string | null | undefined; description?: string | Record<string, string> | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; encrypted?: boolean | undefined; }, { key: string; type?: "string" | undefined; format?: string | null | undefined; description?: string | Record<string, string> | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; size?: number | undefined; xdefault?: string | null | undefined; encrypted?: boolean | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"integer">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; min: z.ZodOptional<z.ZodNumber>; max: z.ZodOptional<z.ZodNumber>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "integer"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }, { key: string; type?: "integer" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"float">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; min: z.ZodOptional<z.ZodNumber>; max: z.ZodOptional<z.ZodNumber>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "float"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }, { key: string; type?: "float" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"boolean">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "boolean"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; }, { key: string; type?: "boolean" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"datetime">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "datetime"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "datetime" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"email">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "email"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "email" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodLiteral<"ip">; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "ip"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { type: "ip"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"url">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "url"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "url" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"enum">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; elements: z.ZodDefault<z.ZodArray<z.ZodString, "many">>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "enum"; key: string; elements: string[]; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "enum" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; elements?: string[] | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"relationship">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; relatedCollection: z.ZodString; relationType: z.ZodEnum<["oneToMany", "manyToOne", "oneToOne", "manyToMany"]>; twoWay: z.ZodBoolean; twoWayKey: z.ZodString; onDelete: z.ZodDefault<z.ZodEnum<["setNull", "cascade", "restrict"]>>; side: z.ZodEnum<["parent", "child"]>; importMapping: z.ZodOptional<z.ZodObject<{ originalIdField: z.ZodString; targetField: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { originalIdField: string; targetField?: string | undefined; }, { originalIdField: string; targetField?: string | undefined; }>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "relationship"; key: string; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; twoWayKey: string; onDelete: "setNull" | "cascade" | "restrict"; side: "parent" | "child"; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; }, { key: string; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; twoWayKey: string; side: "parent" | "child"; type?: "relationship" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; onDelete?: "setNull" | "cascade" | "restrict" | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; }>]>, "many">>; indexes: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["key", "unique", "fulltext"]>>>; status: z.ZodOptional<z.ZodString>; error: z.ZodOptional<z.ZodString>; attributes: z.ZodArray<z.ZodString, "many">; orders: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { type: "key" | "unique" | "fulltext"; key: string; attributes: string[]; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }, { key: string; attributes: string[]; type?: "key" | "unique" | "fulltext" | undefined; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }>, "many">>>, { type: "key" | "unique" | "fulltext"; key: string; attributes: string[]; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }[], { key: string; attributes: string[]; type?: "key" | "unique" | "fulltext" | undefined; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }[] | undefined>; importDefs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{ type: z.ZodOptional<z.ZodDefault<z.ZodEnum<["create", "update"]>>>; filePath: z.ZodString; basePath: z.ZodOptional<z.ZodString>; primaryKeyField: z.ZodDefault<z.ZodString>; idMappings: z.ZodOptional<z.ZodArray<z.ZodObject<{ sourceField: z.ZodString; fieldToSet: z.ZodOptional<z.ZodString>; targetFieldToMatch: z.ZodOptional<z.ZodString>; targetField: z.ZodString; targetCollection: z.ZodString; }, "strip", z.ZodTypeAny, { sourceField: string; targetField: string; targetCollection: string; fieldToSet?: string | undefined; targetFieldToMatch?: string | undefined; }, { sourceField: string; targetField: string; targetCollection: string; fieldToSet?: string | undefined; targetFieldToMatch?: string | undefined; }>, "many">>; createUsers: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>; updateMapping: z.ZodOptional<z.ZodObject<{ originalIdField: z.ZodString; targetField: z.ZodString; }, "strip", z.ZodTypeAny, { targetField: string; originalIdField: string; }, { targetField: string; originalIdField: string; }>>; attributeMappings: z.ZodArray<z.ZodObject<{ oldKey: z.ZodOptional<z.ZodString>; oldKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; targetKey: z.ZodString; valueToSet: z.ZodOptional<z.ZodAny>; fileData: z.ZodOptional<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>; converters: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>; validationActions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{ action: z.ZodString; params: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { params: string[]; action: string; }, { params: string[]; action: string; }>, "many">>>; postImportActions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{ action: z.ZodString; params: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodAny>]>, "many">; }, "strip", z.ZodTypeAny, { params: (string | Record<string, any>)[]; action: string; }, { params: (string | Record<string, any>)[]; action: string; }>, "many">>>; }, "strip", z.ZodTypeAny, { targetKey: string; oldKey?: string | undefined; oldKeys?: string[] | undefined; valueToSet?: any; fileData?: { path: string; name: string; } | undefined; converters?: string[] | undefined; validationActions?: { params: string[]; action: string; }[] | undefined; postImportActions?: { params: (string | Record<string, any>)[]; action: string; }[] | undefined; }, { targetKey: string; oldKey?: string | undefined; oldKeys?: string[] | undefined; valueToSet?: any; fileData?: { path: string; name: string; } | undefined; converters?: string[] | undefined; validationActions?: { params: string[]; action: string; }[] | undefined; postImportActions?: { params: (string | Record<string, any>)[]; action: string; }[] | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { filePath: string; primaryKeyField: string; attributeMappings: { targetKey: string; oldKey?: string | undefined; oldKeys?: string[] | undefined; valueToSet?: any; fileData?: { path: string; name: string; } | undefined; converters?: string[] | undefined; validationActions?: { params: string[]; action: string; }[] | undefined; postImportActions?: { params: (string | Record<string, any>)[]; action: string; }[] | undefined; }[]; type?: "create" | "update" | undefined; basePath?: string | undefined; idMappings?: { sourceField: string; targetField: string; targetCollection: string; fieldToSet?: string | undefined; targetFieldToMatch?: string | undefined; }[] | undefined; createUsers?: boolean | null | undefined; updateMapping?: { targetField: string; originalIdField: string; } | undefined; }, { filePath: string; attributeMappings: { targetKey: string; oldKey?: string | undefined; oldKeys?: string[] | undefined; valueToSet?: any; fileData?: { path: string; name: string; } | undefined; converters?: string[] | undefined; validationActions?: { params: string[]; action: string; }[] | undefined; postImportActions?: { params: (string | Record<string, any>)[]; action: string; }[] | undefined; }[]; type?: "create" | "update" | undefined; basePath?: string | undefined; primaryKeyField?: string | undefined; idMappings?: { sourceField: string; targetField: string; targetCollection: string; fieldToSet?: string | undefined; targetFieldToMatch?: string | undefined; }[] | undefined; createUsers?: boolean | null | undefined; updateMapping?: { targetField: string; originalIdField: string; } | undefined; }>, "many">>>; databaseId: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; attributes: ({ type: "string"; key: string; size: number; format?: string | null | undefined; description?: string | Record<string, string> | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; encrypted?: boolean | undefined; } | { type: "integer"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; } | { type: "float"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; } | { type: "boolean"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; } | { type: "datetime"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { type: "email"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { type: "ip"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { type: "url"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { type: "enum"; key: string; elements: string[]; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { type: "relationship"; key: string; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; twoWayKey: string; onDelete: "setNull" | "cascade" | "restrict"; side: "parent" | "child"; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; })[]; $createdAt: string; $updatedAt: string; $permissions: { permission: string; target: string; }[]; indexes: { type: "key" | "unique" | "fulltext"; key: string; attributes: string[]; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }[]; importDefs: { filePath: string; primaryKeyField: string; attributeMappings: { targetKey: string; oldKey?: string | undefined; oldKeys?: string[] | undefined; valueToSet?: any; fileData?: { path: string; name: string; } | undefined; converters?: string[] | undefined; validationActions?: { params: string[]; action: string; }[] | undefined; postImportActions?: { params: (string | Record<string, any>)[]; action: string; }[] | undefined; }[]; type?: "create" | "update" | undefined; basePath?: string | undefined; idMappings?: { sourceField: string; targetField: string; targetCollection: string; fieldToSet?: string | undefined; targetFieldToMatch?: string | undefined; }[] | undefined; createUsers?: boolean | null | undefined; updateMapping?: { targetField: string; originalIdField: string; } | undefined; }[]; description?: string | undefined; $id?: string | undefined; enabled?: boolean | undefined; documentSecurity?: boolean | undefined; databaseId?: string | undefined; }, { name: string; $createdAt: string; $updatedAt: string; description?: string | undefined; attributes?: ({ key: string; type?: "string" | undefined; format?: string | null | undefined; description?: string | Record<string, string> | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; size?: number | undefined; xdefault?: string | null | undefined; encrypted?: boolean | undefined; } | { key: string; type?: "integer" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; } | { key: string; type?: "float" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; } | { key: string; type?: "boolean" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; } | { key: string; type?: "datetime" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; type?: "email" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { type: "ip"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; type?: "url" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; type?: "enum" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; elements?: string[] | undefined; } | { key: string; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; twoWayKey: string; side: "parent" | "child"; type?: "relationship" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; onDelete?: "setNull" | "cascade" | "restrict" | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; })[] | undefined; $id?: string | undefined; enabled?: boolean | undefined; documentSecurity?: boolean | undefined; $permissions?: { permission: string; target: string; }[] | undefined; indexes?: { key: string; attributes: string[]; type?: "key" | "unique" | "fulltext" | undefined; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }[] | undefined; importDefs?: { filePath: string; attributeMappings: { targetKey: string; oldKey?: string | undefined; oldKeys?: string[] | undefined; valueToSet?: any; fileData?: { path: string; name: string; } | undefined; converters?: string[] | undefined; validationActions?: { params: string[]; action: string; }[] | undefined; postImportActions?: { params: (string | Record<string, any>)[]; action: string; }[] | undefined; }[]; type?: "create" | "update" | undefined; basePath?: string | undefined; primaryKeyField?: string | undefined; idMappings?: { sourceField: string; targetField: string; targetCollection: string; fieldToSet?: string | undefined; targetFieldToMatch?: string | undefined; }[] | undefined; createUsers?: boolean | null | undefined; updateMapping?: { targetField: string; originalIdField: string; } | undefined; }[] | undefined; databaseId?: string | undefined; }>; export declare const CollectionCreateSchema: z.ZodObject<Omit<{ name: z.ZodString; $id: z.ZodOptional<z.ZodString>; enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; documentSecurity: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; description: z.ZodOptional<z.ZodString>; $createdAt: z.ZodString; $updatedAt: z.ZodString; $permissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{ permission: z.ZodString; target: z.ZodString; }, "strip", z.ZodTypeAny, { permission: string; target: string; }, { permission: string; target: string; }>, "many">>>; attributes: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"string">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; size: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; encrypted: z.ZodOptional<z.ZodBoolean>; format: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>; }, "strip", z.ZodTypeAny, { type: "string"; key: string; size: number; format?: string | null | undefined; description?: string | Record<string, string> | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; encrypted?: boolean | undefined; }, { key: string; type?: "string" | undefined; format?: string | null | undefined; description?: string | Record<string, string> | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; size?: number | undefined; xdefault?: string | null | undefined; encrypted?: boolean | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"integer">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; min: z.ZodOptional<z.ZodNumber>; max: z.ZodOptional<z.ZodNumber>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "integer"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }, { key: string; type?: "integer" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"float">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; min: z.ZodOptional<z.ZodNumber>; max: z.ZodOptional<z.ZodNumber>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "float"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }, { key: string; type?: "float" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"boolean">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "boolean"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; }, { key: string; type?: "boolean" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"datetime">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "datetime"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "datetime" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"email">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "email"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "email" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodLiteral<"ip">; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "ip"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { type: "ip"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"url">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "url"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "url" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"enum">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; elements: z.ZodDefault<z.ZodArray<z.ZodString, "many">>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "enum"; key: string; elements: string[]; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "enum" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; elements?: string[] | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"relationship">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; relatedCollection: z.ZodString; relationType: z.ZodEnum<["oneToMany", "manyToOne", "oneToOne", "manyToMany"]>; twoWay: z.ZodBoolean; twoWayKey: z.ZodString; onDelete: z.ZodDefault<z.ZodEnum<["setNull", "cascade", "restrict"]>>; side: z.ZodEnum<["parent", "child"]>; importMapping: z.ZodOptional<z.ZodObject<{ originalIdField: z.ZodString; targetField: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { originalIdField: string; targetField?: string | undefined; }, { originalIdField: string; targetField?: string | undefined; }>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "relationship"; key: string; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; twoWayKey: string; onDelete: "setNull" | "cascade" | "restrict"; side: "parent" | "child"; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; }, { key: string; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; twoWayKey: string; side: "parent" | "child"; type?: "relationship" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; onDelete?: "setNull" | "cascade" | "restrict" | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; }>]>, "many">>; indexes: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["key", "unique", "fulltext"]>>>; status: z.ZodOptional<z.ZodString>; error: z.ZodOptional<z.ZodString>; attributes: z.ZodArray<z.ZodString, "many">; orders: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { type: "key" | "unique" | "fulltext"; key: string; attributes: string[]; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }, { key: string; attributes: string[]; type?: "key" | "unique" | "fulltext" | undefined; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }>, "many">>>, { type: "key" | "unique" | "fulltext"; key: string; attributes: string[]; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }[], { key: string; attributes: string[]; type?: "key" | "unique" | "fulltext" | undefined; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }[] | undefined>; importDefs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{ type: z.ZodOptional<z.ZodDefault<z.ZodEnum<["create", "update"]>>>; filePath: z.ZodString; basePath: z.ZodOptional<z.ZodString>; primaryKeyField: z.ZodDefault<z.ZodString>; idMappings: z.ZodOptional<z.ZodArray<z.ZodObject<{ sourceField: z.ZodString; fieldToSet: z.ZodOptional<z.ZodString>; targetFieldToMatch: z.ZodOptional<z.ZodString>; targetField: z.ZodString; targetCollection: z.ZodString; }, "strip", z.ZodTypeAny, { sourceField: string; targetField: string; targetCollection: string; fieldToSet?: string | undefined; targetFieldToMatch?: string | undefined; }, { sourceField: string; targetField: string; targetCollection: string; fieldToSet?: string | undefined; targetFieldToMatch?: string | undefined; }>, "many">>; createUsers: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>; updateMapping: z.ZodOptional<z.ZodObject<{ originalIdField: z.ZodString; targetField: z.ZodString; }, "strip", z.ZodTypeAny, { targetField: string; originalIdField: string; }, { targetField: string; originalIdField: string; }>>; attributeMappings: z.ZodArray<z.ZodObject<{ oldKey: z.ZodOptional<z.ZodString>; oldKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; targetKey: z.ZodString; valueToSet: z.ZodOptional<z.ZodAny>; fileData: z.ZodOptional<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>; converters: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>; validationActions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{ action: z.ZodString; params: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { params: string[]; action: string; }, { params: string[]; action: string; }>, "many">>>; postImportActions: z.ZodOptio