import { z } from "zod";
/**
 * Shared schema across attribute types.
 * Includes keys that Appwrite returns on all attributes along with
 * optional metadata (attributes/orders) used when normalizing indexes.
 */
export declare const baseAttributeSchema: z.ZodObject<{
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    error: z.ZodOptional<z.ZodString>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    array: z.ZodOptional<z.ZodBoolean>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    format: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const stringAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"string">;
    size: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare const integerAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"integer">;
    min: z.ZodOptional<z.ZodNumber>;
    max: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, z.core.$strip>;
export declare const doubleAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"double">;
    min: z.ZodOptional<z.ZodNumber>;
    max: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, z.core.$strip>;
export declare const floatAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"float">;
    min: z.ZodOptional<z.ZodNumber>;
    max: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, z.core.$strip>;
export declare const booleanAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"boolean">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
}, z.core.$strip>;
export declare const datetimeAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"datetime">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export declare const emailAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"email">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export declare const ipAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"ip">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export declare const urlAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"url">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export declare const enumAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"enum">;
    elements: z.ZodDefault<z.ZodArray<z.ZodString>>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export declare const relationshipAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"relationship">;
    relatedCollection: z.ZodOptional<z.ZodString>;
    relatedTable: z.ZodOptional<z.ZodString>;
    relationType: z.ZodEnum<{
        oneToMany: "oneToMany";
        manyToOne: "manyToOne";
        oneToOne: "oneToOne";
        manyToMany: "manyToMany";
    }>;
    twoWay: z.ZodBoolean;
    twoWayKey: z.ZodOptional<z.ZodString>;
    onDelete: z.ZodDefault<z.ZodEnum<{
        setNull: "setNull";
        cascade: "cascade";
        restrict: "restrict";
    }>>;
    side: z.ZodOptional<z.ZodEnum<{
        parent: "parent";
        child: "child";
    }>>;
    importMapping: z.ZodOptional<z.ZodObject<{
        originalIdField: z.ZodString;
        targetField: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const varcharAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"varchar">;
    size: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare const textAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"text">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare const mediumtextAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"mediumtext">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare const longtextAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"longtext">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare const pointAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"point">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodAny>>>;
}, z.core.$strip>;
export declare const lineAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"line">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodAny>>>;
}, z.core.$strip>;
export declare const polygonAttributeSchema: z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"polygon">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodAny>>>;
}, z.core.$strip>;
export declare const attributeSchema: z.ZodPipe<z.ZodObject<{
    key: z.ZodString;
    type: z.ZodString;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    error: z.ZodOptional<z.ZodString>;
    required: z.ZodOptional<z.ZodBoolean>;
    array: z.ZodOptional<z.ZodBoolean>;
    default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodAny>, z.ZodNull]>>;
    xdefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodAny>, z.ZodNull]>>;
    format: z.ZodOptional<z.ZodString>;
    size: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
    min: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBigInt]>>;
    max: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBigInt]>>;
    elements: z.ZodOptional<z.ZodArray<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
    relatedCollection: z.ZodOptional<z.ZodString>;
    relationType: z.ZodOptional<z.ZodString>;
    twoWay: z.ZodOptional<z.ZodBoolean>;
    twoWayKey: z.ZodOptional<z.ZodString>;
    onDelete: z.ZodOptional<z.ZodString>;
    side: z.ZodOptional<z.ZodString>;
    importMapping: z.ZodOptional<z.ZodObject<{
        originalIdField: z.ZodString;
        targetField: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$loose>, z.ZodDiscriminatedUnion<[z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"string">;
    size: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"integer">;
    min: z.ZodOptional<z.ZodNumber>;
    max: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"double">;
    min: z.ZodOptional<z.ZodNumber>;
    max: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"float">;
    min: z.ZodOptional<z.ZodNumber>;
    max: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"boolean">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"datetime">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"email">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"ip">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"url">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"enum">;
    elements: z.ZodDefault<z.ZodArray<z.ZodString>>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"relationship">;
    relatedCollection: z.ZodOptional<z.ZodString>;
    relatedTable: z.ZodOptional<z.ZodString>;
    relationType: z.ZodEnum<{
        oneToMany: "oneToMany";
        manyToOne: "manyToOne";
        oneToOne: "oneToOne";
        manyToMany: "manyToMany";
    }>;
    twoWay: z.ZodBoolean;
    twoWayKey: z.ZodOptional<z.ZodString>;
    onDelete: z.ZodDefault<z.ZodEnum<{
        setNull: "setNull";
        cascade: "cascade";
        restrict: "restrict";
    }>>;
    side: z.ZodOptional<z.ZodEnum<{
        parent: "parent";
        child: "child";
    }>>;
    importMapping: z.ZodOptional<z.ZodObject<{
        originalIdField: z.ZodString;
        targetField: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"varchar">;
    size: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"text">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"mediumtext">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"longtext">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"point">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodAny>>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"line">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodAny>>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"polygon">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodAny>>>;
}, z.core.$strip>], "type">>;
export type BaseAttribute = z.infer<typeof baseAttributeSchema>;
export type StringAttribute = z.infer<typeof stringAttributeSchema>;
export type IntegerAttribute = z.infer<typeof integerAttributeSchema>;
export type DoubleAttribute = z.infer<typeof doubleAttributeSchema>;
export type FloatAttribute = z.infer<typeof floatAttributeSchema>;
export type BooleanAttribute = z.infer<typeof booleanAttributeSchema>;
export type DatetimeAttribute = z.infer<typeof datetimeAttributeSchema>;
export type EmailAttribute = z.infer<typeof emailAttributeSchema>;
export type IpAttribute = z.infer<typeof ipAttributeSchema>;
export type UrlAttribute = z.infer<typeof urlAttributeSchema>;
export type EnumAttribute = z.infer<typeof enumAttributeSchema>;
export type RelationshipAttribute = z.infer<typeof relationshipAttributeSchema>;
export type VarcharAttribute = z.infer<typeof varcharAttributeSchema>;
export type TextAttribute = z.infer<typeof textAttributeSchema>;
export type MediumtextAttribute = z.infer<typeof mediumtextAttributeSchema>;
export type LongtextAttribute = z.infer<typeof longtextAttributeSchema>;
export type PointAttribute = z.infer<typeof pointAttributeSchema>;
export type LineAttribute = z.infer<typeof lineAttributeSchema>;
export type PolygonAttribute = z.infer<typeof polygonAttributeSchema>;
export declare const attributesSchema: z.ZodArray<z.ZodPipe<z.ZodObject<{
    key: z.ZodString;
    type: z.ZodString;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    error: z.ZodOptional<z.ZodString>;
    required: z.ZodOptional<z.ZodBoolean>;
    array: z.ZodOptional<z.ZodBoolean>;
    default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodAny>, z.ZodNull]>>;
    xdefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodAny>, z.ZodNull]>>;
    format: z.ZodOptional<z.ZodString>;
    size: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
    min: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBigInt]>>;
    max: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBigInt]>>;
    elements: z.ZodOptional<z.ZodArray<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
    relatedCollection: z.ZodOptional<z.ZodString>;
    relationType: z.ZodOptional<z.ZodString>;
    twoWay: z.ZodOptional<z.ZodBoolean>;
    twoWayKey: z.ZodOptional<z.ZodString>;
    onDelete: z.ZodOptional<z.ZodString>;
    side: z.ZodOptional<z.ZodString>;
    importMapping: z.ZodOptional<z.ZodObject<{
        originalIdField: z.ZodString;
        targetField: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$loose>, z.ZodDiscriminatedUnion<[z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"string">;
    size: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"integer">;
    min: z.ZodOptional<z.ZodNumber>;
    max: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"double">;
    min: z.ZodOptional<z.ZodNumber>;
    max: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"float">;
    min: z.ZodOptional<z.ZodNumber>;
    max: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"boolean">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"datetime">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"email">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"ip">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"url">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"enum">;
    elements: z.ZodDefault<z.ZodArray<z.ZodString>>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"relationship">;
    relatedCollection: z.ZodOptional<z.ZodString>;
    relatedTable: z.ZodOptional<z.ZodString>;
    relationType: z.ZodEnum<{
        oneToMany: "oneToMany";
        manyToOne: "manyToOne";
        oneToOne: "oneToOne";
        manyToMany: "manyToMany";
    }>;
    twoWay: z.ZodBoolean;
    twoWayKey: z.ZodOptional<z.ZodString>;
    onDelete: z.ZodDefault<z.ZodEnum<{
        setNull: "setNull";
        cascade: "cascade";
        restrict: "restrict";
    }>>;
    side: z.ZodOptional<z.ZodEnum<{
        parent: "parent";
        child: "child";
    }>>;
    importMapping: z.ZodOptional<z.ZodObject<{
        originalIdField: z.ZodString;
        targetField: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"varchar">;
    size: z.ZodOptional<z.ZodNumber>;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"text">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"mediumtext">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"longtext">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    encrypt: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"point">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodAny>>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"line">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodAny>>>;
}, z.core.$strip>, z.ZodObject<{
    array: z.ZodOptional<z.ZodBoolean>;
    format: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    status: z.ZodOptional<z.ZodString>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    orders: z.ZodOptional<z.ZodArray<z.ZodString>>;
    required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    $createdAt: z.ZodOptional<z.ZodString>;
    $updatedAt: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"polygon">;
    xdefault: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodAny>>>;
}, z.core.$strip>], "type">>>;
export type Attribute = z.infer<typeof attributeSchema>;
export type Attributes = z.infer<typeof attributesSchema>;
export type Column = Attribute;
export type Columns = Attributes;
