import { z } from 'zod';

/**
 * 1. Script/Expression Validation
 * Generic formula-based validation.
 */
declare const ScriptValidationSchema: z.ZodObject<{
    name: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    active: z.ZodDefault<z.ZodBoolean>;
    events: z.ZodDefault<z.ZodArray<z.ZodEnum<{
        delete: "delete";
        insert: "insert";
        update: "update";
    }>>>;
    priority: z.ZodDefault<z.ZodNumber>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    severity: z.ZodDefault<z.ZodEnum<{
        error: "error";
        info: "info";
        warning: "warning";
    }>>;
    message: z.ZodString;
    type: z.ZodLiteral<"script">;
    condition: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
        dialect: "cel" | "js" | "cron" | "template";
        source?: string | undefined;
        ast?: unknown;
        meta?: {
            rationale?: string | undefined;
            generatedBy?: string | undefined;
        } | undefined;
    }, string>>, z.ZodObject<{
        dialect: z.ZodEnum<{
            cel: "cel";
            js: "js";
            cron: "cron";
            template: "template";
        }>;
        source: z.ZodOptional<z.ZodString>;
        ast: z.ZodOptional<z.ZodUnknown>;
        meta: z.ZodOptional<z.ZodObject<{
            rationale: z.ZodOptional<z.ZodString>;
            generatedBy: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$strip>]>;
}, z.core.$strip>;
/**
 * 2. State Machine Validation
 * State transition logic.
 */
declare const StateMachineValidationSchema: z.ZodObject<{
    name: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    active: z.ZodDefault<z.ZodBoolean>;
    events: z.ZodDefault<z.ZodArray<z.ZodEnum<{
        delete: "delete";
        insert: "insert";
        update: "update";
    }>>>;
    priority: z.ZodDefault<z.ZodNumber>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    severity: z.ZodDefault<z.ZodEnum<{
        error: "error";
        info: "info";
        warning: "warning";
    }>>;
    message: z.ZodString;
    type: z.ZodLiteral<"state_machine">;
    field: z.ZodString;
    transitions: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
/**
 * 3. Value Format Validation
 * Regex or specialized formats.
 */
declare const FormatValidationSchema: z.ZodObject<{
    name: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    active: z.ZodDefault<z.ZodBoolean>;
    events: z.ZodDefault<z.ZodArray<z.ZodEnum<{
        delete: "delete";
        insert: "insert";
        update: "update";
    }>>>;
    priority: z.ZodDefault<z.ZodNumber>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    severity: z.ZodDefault<z.ZodEnum<{
        error: "error";
        info: "info";
        warning: "warning";
    }>>;
    message: z.ZodString;
    type: z.ZodLiteral<"format">;
    field: z.ZodString;
    regex: z.ZodOptional<z.ZodString>;
    format: z.ZodOptional<z.ZodEnum<{
        url: "url";
        email: "email";
        phone: "phone";
        json: "json";
    }>>;
}, z.core.$strip>;
/**
 * 4. Cross-Field Validation
 * Validates relationships between multiple fields.
 *
 * ## Use Cases
 * - Date range validations (end_date > start_date)
 * - Amount comparisons (discount < total)
 * - Complex business rules involving multiple fields
 *
 * ## Salesforce Examples
 *
 * ### Example 1: Close Date Must Be In Current or Future Month
 * **Salesforce Formula:**
 * ```
 * MONTH(CloseDate) < MONTH(TODAY()) ||
 * YEAR(CloseDate) < YEAR(TODAY())
 * ```
 *
 * **ObjectStack Equivalent:**
 * ```typescript
 * {
 *   type: 'cross_field',
 *   name: 'close_date_future',
 *   condition: 'MONTH(close_date) >= MONTH(TODAY()) AND YEAR(close_date) >= YEAR(TODAY())',
 *   fields: ['close_date'],
 *   message: 'Close Date must be in the current or a future month'
 * }
 * ```
 *
 * ### Example 2: Discount Validation
 * **Salesforce Formula:**
 * ```
 * Discount__c > (Amount__c * 0.40)
 * ```
 *
 * **ObjectStack Equivalent:**
 * ```typescript
 * {
 *   type: 'cross_field',
 *   name: 'discount_limit',
 *   condition: 'discount > (amount * 0.40)',
 *   fields: ['discount', 'amount'],
 *   message: 'Discount cannot exceed 40% of the amount'
 * }
 * ```
 *
 * ### Example 3: Opportunity Must Have Products
 * **Salesforce Formula:**
 * ```
 * ISBLANK(Products__c) && ISPICKVAL(StageName, "Closed Won")
 * ```
 *
 * **ObjectStack Equivalent:**
 * ```typescript
 * {
 *   type: 'cross_field',
 *   name: 'products_required_for_won',
 *   condition: 'products = null AND stage = "closed_won"',
 *   fields: ['products', 'stage'],
 *   message: 'Opportunity must have products to be marked as Closed Won'
 * }
 * ```
 */
declare const CrossFieldValidationSchema: z.ZodObject<{
    name: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    active: z.ZodDefault<z.ZodBoolean>;
    events: z.ZodDefault<z.ZodArray<z.ZodEnum<{
        delete: "delete";
        insert: "insert";
        update: "update";
    }>>>;
    priority: z.ZodDefault<z.ZodNumber>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    severity: z.ZodDefault<z.ZodEnum<{
        error: "error";
        info: "info";
        warning: "warning";
    }>>;
    message: z.ZodString;
    type: z.ZodLiteral<"cross_field">;
    condition: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
        dialect: "cel" | "js" | "cron" | "template";
        source?: string | undefined;
        ast?: unknown;
        meta?: {
            rationale?: string | undefined;
            generatedBy?: string | undefined;
        } | undefined;
    }, string>>, z.ZodObject<{
        dialect: z.ZodEnum<{
            cel: "cel";
            js: "js";
            cron: "cron";
            template: "template";
        }>;
        source: z.ZodOptional<z.ZodString>;
        ast: z.ZodOptional<z.ZodUnknown>;
        meta: z.ZodOptional<z.ZodObject<{
            rationale: z.ZodOptional<z.ZodString>;
            generatedBy: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$strip>]>;
    fields: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
/**
 * 5. JSON Structure Validation
 * Validates JSON fields against a JSON Schema.
 *
 * ## Use Cases
 * - Validating configuration objects stored in JSON fields
 * - Enforcing API payload structures
 * - Complex nested data validation
 */
declare const JSONValidationSchema: z.ZodObject<{
    name: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    active: z.ZodDefault<z.ZodBoolean>;
    events: z.ZodDefault<z.ZodArray<z.ZodEnum<{
        delete: "delete";
        insert: "insert";
        update: "update";
    }>>>;
    priority: z.ZodDefault<z.ZodNumber>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    severity: z.ZodDefault<z.ZodEnum<{
        error: "error";
        info: "info";
        warning: "warning";
    }>>;
    message: z.ZodString;
    type: z.ZodLiteral<"json_schema">;
    field: z.ZodString;
    schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, z.core.$strip>;
/**
 * 6. Master Validation Rule Schema
 */
/** Base type for validation rules - used for z.lazy() recursive type annotation */
interface BaseValidationRuleShape {
    type: string;
    name: string;
    message: string;
    label?: string;
    description?: string;
    active?: boolean;
    events?: ('insert' | 'update' | 'delete')[];
    priority?: number;
    tags?: string[];
    severity?: 'error' | 'warning' | 'info';
    [key: string]: unknown;
}
declare const ValidationRuleSchema: z.ZodType<BaseValidationRuleShape>;
/**
 * 7. Conditional Validation
 * Validation that only applies when a condition is met.
 *
 * ## Overview
 * Conditional validations follow the pattern: "Validate X only if Y is true"
 * This allows for context-aware validation rules that adapt to different scenarios.
 *
 * ## Use Cases
 *
 * ### 1. Validate Based on Record Type
 * Apply different validation rules based on the type of record.
 * ```typescript
 * {
 *   type: 'conditional',
 *   name: 'enterprise_approval_required',
 *   when: 'account_type = "enterprise"',
 *   message: 'Enterprise validation',
 *   then: {
 *     type: 'script',
 *     name: 'require_approval',
 *     message: 'Enterprise accounts require manager approval',
 *     condition: 'approval_status = null'
 *   }
 * }
 * ```
 *
 * ### 2. Conditional Field Requirements
 * Require certain fields only when specific conditions are met.
 * ```typescript
 * {
 *   type: 'conditional',
 *   name: 'shipping_address_when_required',
 *   when: 'requires_shipping = true',
 *   message: 'Shipping validation',
 *   then: {
 *     type: 'script',
 *     name: 'shipping_address_required',
 *     message: 'Shipping address is required for physical products',
 *     condition: 'shipping_address = null OR shipping_address = ""'
 *   }
 * }
 * ```
 *
 * ### 3. Amount-Based Validation
 * Apply different rules based on transaction amount.
 * ```typescript
 * {
 *   type: 'conditional',
 *   name: 'high_value_approval',
 *   when: 'order_total > 10000',
 *   message: 'High value order validation',
 *   then: {
 *     type: 'script',
 *     name: 'manager_approval_required',
 *     message: 'Orders over $10,000 require manager approval',
 *     condition: 'manager_approval_id = null'
 *   },
 *   otherwise: {
 *     type: 'script',
 *     name: 'standard_validation',
 *     message: 'Payment method is required',
 *     condition: 'payment_method = null'
 *   }
 * }
 * ```
 *
 * ### 4. Regional Compliance
 * Apply region-specific validation rules.
 * ```typescript
 * {
 *   type: 'conditional',
 *   name: 'regional_compliance',
 *   when: 'region = "EU"',
 *   message: 'EU compliance validation',
 *   then: {
 *     type: 'script',
 *     name: 'gdpr_consent',
 *     message: 'GDPR consent is required for EU customers',
 *     condition: 'gdpr_consent_given = false'
 *   },
 *   otherwise: {
 *     type: 'script',
 *     name: 'tos_acceptance',
 *     message: 'Terms of Service acceptance required',
 *     condition: 'tos_accepted = false'
 *   }
 * }
 * ```
 *
 * ### 5. Nested Conditional Validation
 * Create complex validation logic with nested conditions.
 * ```typescript
 * {
 *   type: 'conditional',
 *   name: 'country_state_validation',
 *   when: 'country = "US"',
 *   message: 'US-specific validation',
 *   then: {
 *     type: 'conditional',
 *     name: 'california_validation',
 *     when: 'state = "CA"',
 *     message: 'California-specific validation',
 *     then: {
 *       type: 'script',
 *       name: 'ca_tax_id_required',
 *       message: 'California requires a valid tax ID',
 *       condition: 'tax_id = null OR NOT(REGEX(tax_id, "^\\d{2}-\\d{7}$"))'
 *     }
 *   }
 * }
 * ```
 *
 * ### 6. Tax Validation for Taxable Items
 * Only validate tax fields when the item is taxable.
 * ```typescript
 * {
 *   type: 'conditional',
 *   name: 'tax_field_validation',
 *   when: 'is_taxable = true',
 *   message: 'Tax validation',
 *   then: {
 *     type: 'script',
 *     name: 'tax_code_required',
 *     message: 'Tax code is required for taxable items',
 *     condition: 'tax_code = null OR tax_code = ""'
 *   }
 * }
 * ```
 *
 * ### 7. Role-Based Validation
 * Apply validation based on user role.
 * ```typescript
 * {
 *   type: 'conditional',
 *   name: 'role_based_approval_limit',
 *   when: 'user_role = "manager"',
 *   message: 'Manager approval limits',
 *   then: {
 *     type: 'script',
 *     name: 'manager_limit',
 *     message: 'Managers can approve up to $50,000',
 *     condition: 'approval_amount > 50000'
 *   }
 * }
 * ```
 *
 * ## Salesforce Pattern Comparison
 *
 * Salesforce doesn't have explicit "conditional validation" rules but achieves similar
 * behavior using formula logic. ObjectStack makes this pattern explicit and composable.
 *
 * **Salesforce Approach:**
 * ```
 * IF(
 *   ISPICKVAL(Type, "Enterprise"),
 *   AND(Amount > 100000, ISBLANK(Approval__c)),
 *   FALSE
 * )
 * ```
 *
 * **ObjectStack Approach:**
 * ```typescript
 * {
 *   type: 'conditional',
 *   name: 'enterprise_high_value',
 *   when: 'type = "enterprise"',
 *   then: {
 *     type: 'cross_field',
 *     name: 'amount_approval',
 *     condition: 'amount > 100000 AND approval = null',
 *     fields: ['amount', 'approval']
 *   }
 * }
 * ```
 */
declare const ConditionalValidationSchema: z.ZodObject<{
    name: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    active: z.ZodDefault<z.ZodBoolean>;
    events: z.ZodDefault<z.ZodArray<z.ZodEnum<{
        delete: "delete";
        insert: "insert";
        update: "update";
    }>>>;
    priority: z.ZodDefault<z.ZodNumber>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    severity: z.ZodDefault<z.ZodEnum<{
        error: "error";
        info: "info";
        warning: "warning";
    }>>;
    message: z.ZodString;
    type: z.ZodLiteral<"conditional">;
    when: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
        dialect: "cel" | "js" | "cron" | "template";
        source?: string | undefined;
        ast?: unknown;
        meta?: {
            rationale?: string | undefined;
            generatedBy?: string | undefined;
        } | undefined;
    }, string>>, z.ZodObject<{
        dialect: z.ZodEnum<{
            cel: "cel";
            js: "js";
            cron: "cron";
            template: "template";
        }>;
        source: z.ZodOptional<z.ZodString>;
        ast: z.ZodOptional<z.ZodUnknown>;
        meta: z.ZodOptional<z.ZodObject<{
            rationale: z.ZodOptional<z.ZodString>;
            generatedBy: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$strip>]>;
    then: z.ZodType<BaseValidationRuleShape, unknown, z.core.$ZodTypeInternals<BaseValidationRuleShape, unknown>>;
    otherwise: z.ZodOptional<z.ZodType<BaseValidationRuleShape, unknown, z.core.$ZodTypeInternals<BaseValidationRuleShape, unknown>>>;
}, z.core.$strip>;
type ValidationRule = z.infer<typeof ValidationRuleSchema>;
type ScriptValidation = z.infer<typeof ScriptValidationSchema>;
type StateMachineValidation = z.infer<typeof StateMachineValidationSchema>;
type FormatValidation = z.infer<typeof FormatValidationSchema>;
type CrossFieldValidation = z.infer<typeof CrossFieldValidationSchema>;
type JSONValidation = z.infer<typeof JSONValidationSchema>;
type ConditionalValidation = z.infer<typeof ConditionalValidationSchema>;

declare const ApiMethod: z.ZodEnum<{
    search: "search";
    get: "get";
    delete: "delete";
    update: "update";
    upsert: "upsert";
    create: "create";
    list: "list";
    bulk: "bulk";
    aggregate: "aggregate";
    history: "history";
    restore: "restore";
    purge: "purge";
    import: "import";
    export: "export";
}>;
type ApiMethod = z.infer<typeof ApiMethod>;
/**
 * Schema for database indexes.
 * Enhanced with additional index types and configuration options
 *
 * @example
 * {
 *   name: "idx_account_name",
 *   fields: ["name"],
 *   type: "btree",
 *   unique: true
 * }
 */
declare const IndexSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    fields: z.ZodArray<z.ZodString>;
    type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
        hash: "hash";
        btree: "btree";
        gin: "gin";
        gist: "gist";
        fulltext: "fulltext";
    }>>>;
    unique: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    partial: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Search Configuration
 * Defines how this object behaves in search results.
 *
 * @example
 * {
 *   fields: ["name", "email", "phone"],
 *   displayFields: ["name", "title"],
 *   filters: ["status = 'active'"]
 * }
 */
declare const SearchConfigSchema: z.ZodObject<{
    fields: z.ZodArray<z.ZodString>;
    displayFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
    filters: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
/**
 * Multi-Tenancy Configuration Schema
 * Configures tenant isolation strategy for SaaS applications
 *
 * @example Shared database with tenant_id isolation
 * {
 *   enabled: true,
 *   strategy: 'shared',
 *   tenantField: 'tenant_id',
 *   crossTenantAccess: false
 * }
 */
declare const TenancyConfigSchema: z.ZodObject<{
    enabled: z.ZodBoolean;
    strategy: z.ZodEnum<{
        hybrid: "hybrid";
        shared: "shared";
        isolated: "isolated";
    }>;
    tenantField: z.ZodDefault<z.ZodString>;
    crossTenantAccess: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
/**
 * [ADR-0066 D2] Secure-by-default object posture.
 *
 * Declares whether the object participates in blanket wildcard permission
 * grants — a data-model posture like {@link TenancyConfigSchema}, NOT an
 * assignment (it names no principal).
 *
 * - `public` (default) — covered by a permission set's `'*'` wildcard object
 *   grant; today's allow-by-default behaviour.
 * - `private` — NOT covered by the `'*'` wildcard grant; access requires an
 *   EXPLICIT per-object grant (Salesforce "new object = no access until
 *   granted"). A `private` object is ALSO exempt from wildcard RLS
 *   (`tenant_isolation`, owner scoping): the posture-gated superuser bypass
 *   (`viewAllRecords`/`modifyAllRecords`) short-circuits RLS, so a platform
 *   admin — incl. one who is also an org admin whose `tenant_isolation` would
 *   otherwise narrow the result — sees all rows, while non-admins without an
 *   explicit grant see none.
 *
 * Pair with the object's `requiredPermissions` (D3) to additionally gate access
 * on holding a capability.
 */
declare const ObjectAccessConfigSchema: z.ZodObject<{
    default: z.ZodDefault<z.ZodEnum<{
        public: "public";
        private: "private";
    }>>;
}, z.core.$strip>;
/**
 * Soft Delete Configuration Schema
 * Implements recycle bin / trash functionality
 *
 * @example Standard soft delete with cascade
 * {
 *   enabled: true,
 *   field: 'deleted_at',
 *   cascadeDelete: true
 * }
 */
declare const SoftDeleteConfigSchema: z.ZodObject<{
    enabled: z.ZodBoolean;
    field: z.ZodDefault<z.ZodString>;
    cascadeDelete: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
/**
 * Versioning Configuration Schema
 * Implements record versioning and history tracking
 *
 * @example Snapshot versioning with 90-day retention
 * {
 *   enabled: true,
 *   strategy: 'snapshot',
 *   retentionDays: 90,
 *   versionField: 'version'
 * }
 */
declare const VersioningConfigSchema: z.ZodObject<{
    enabled: z.ZodBoolean;
    strategy: z.ZodEnum<{
        snapshot: "snapshot";
        delta: "delta";
        "event-sourcing": "event-sourcing";
    }>;
    retentionDays: z.ZodOptional<z.ZodNumber>;
    versionField: z.ZodDefault<z.ZodString>;
}, z.core.$strip>;
/**
 * Object Field Group Schema — MVP (data-layer protocol)
 *
 * Declares the set of logical field groups for an object. A group bundles
 * related fields together for presentation in forms, detail pages, and
 * editors (e.g., "Contact Info", "Billing", "System").
 *
 * Design rules (MVP):
 * - Group **order** is the declaration order of this array — no `order` property.
 * - Field → group mapping is derived automatically from `Field.group`
 *   matching `ObjectFieldGroup.key`; the **in-group display order** equals
 *   the traversal order of `ObjectSchema.fields`.
 * - Fields whose `group` is unset (or references an undeclared key) are
 *   considered ungrouped and must be rendered by consumers in a default
 *   bucket after the declared groups, preserving their field declaration order.
 * - Extension packages and runtime code use `Field.group` to assign fields
 *   to an existing group — no per-field order property is introduced at this
 *   layer.
 *
 * Migration operations supported by this MVP:
 *   - add / rename / delete / reorder groups (via the array)
 *   - assign an existing field to a group (via `Field.group`)
 *
 * Deferred (not part of MVP):
 *   - explicit per-field in-group ordering
 *   - nested groups / sub-groups
 *   - group-level visibility predicates (a `visibleOn` key existed here
 *     briefly with no consumer anywhere; removed per ADR-0085 / ADR-0049
 *     enforce-or-remove — re-add together with its enforcement when a
 *     surface actually evaluates it)
 *
 * Derivation semantics (declared order, empty groups dropped, ungrouped
 * trailing bucket, collapse passthrough) are single-sourced in
 * `deriveFieldGroupLayout` (field-group-layout.ts, ADR-0085 §5) — UI
 * renderers consume that helper instead of re-implementing the rules.
 *
 * @example
 * ```ts
 * fieldGroups: [
 *   { key: 'contact_info', label: 'Contact Information', icon: 'user' },
 *   { key: 'billing',      label: 'Billing',             collapse: 'collapsed' },
 *   { key: 'system',       label: 'System' },
 * ]
 * ```
 */
declare const ObjectFieldGroupSchema: z.ZodObject<{
    key: z.ZodString;
    label: z.ZodString;
    icon: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    collapse: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
        none: "none";
        expanded: "expanded";
        collapsed: "collapsed";
    }>>>;
    defaultExpanded: z.ZodOptional<z.ZodBoolean>;
    collapsible: z.ZodOptional<z.ZodBoolean>;
    collapsed: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
type ObjectFieldGroup = z.infer<typeof ObjectFieldGroupSchema>;
type ObjectFieldGroupInput = z.input<typeof ObjectFieldGroupSchema>;
/**
 * Base Object Schema Definition
 *
 * The Blueprint of a Business Object.
 * Represents a table, a collection, or a virtual entity.
 *
 * @example
 * ```yaml
 * name: project_task
 * label: Project Task
 * icon: task
 * fields:
 *   project:
 *     type: lookup
 *     reference: project
 *   status:
 *     type: select
 *     options: [todo, in_progress, done]
 * enable:
 *   trackHistory: true
 *   files: true
 * ```
 */
/**
 * External Binding (ADR-0015)
 *
 * Optional per-object descriptor that binds this object to a remote table
 * on a federated datasource (one whose `schemaMode !== 'managed'`). When
 * present, the object is "external": DDL is forbidden, the table is
 * validated against the remote schema at boot, and writes require a double
 * opt-in (`datasource.external.allowWrites` **and** this `writable`).
 *
 * The cross-field invariant ("`external` only when the object's datasource
 * has `schemaMode !== 'managed'`") is enforced at metadata-load time, not
 * in this schema, because the datasource may live in another artefact.
 */
declare const ObjectExternalBindingSchema: z.ZodObject<{
    remoteName: z.ZodOptional<z.ZodString>;
    remoteSchema: z.ZodOptional<z.ZodString>;
    writable: z.ZodDefault<z.ZodBoolean>;
    columnMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    introspectedAt: z.ZodOptional<z.ZodString>;
    ignoreColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
type ObjectExternalBinding = z.infer<typeof ObjectExternalBindingSchema>;
declare const ObjectSchemaBase: z.ZodObject<{
    _lock: z.ZodOptional<z.ZodEnum<{
        full: "full";
        none: "none";
        "no-overlay": "no-overlay";
        "no-delete": "no-delete";
    }>>;
    _lockReason: z.ZodOptional<z.ZodString>;
    _lockSource: z.ZodOptional<z.ZodEnum<{
        artifact: "artifact";
        package: "package";
        "env-forced": "env-forced";
    }>>;
    _provenance: z.ZodOptional<z.ZodEnum<{
        package: "package";
        "env-forced": "env-forced";
        org: "org";
    }>>;
    _packageId: z.ZodOptional<z.ZodString>;
    _packageVersion: z.ZodOptional<z.ZodString>;
    _lockDocsUrl: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    pluralLabel: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    icon: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    active: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    isSystem: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    abstract: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    managedBy: z.ZodOptional<z.ZodEnum<{
        platform: "platform";
        system: "system";
        config: "config";
        "append-only": "append-only";
        "better-auth": "better-auth";
    }>>;
    userActions: z.ZodOptional<z.ZodObject<{
        create: z.ZodOptional<z.ZodBoolean>;
        import: z.ZodOptional<z.ZodBoolean>;
        edit: z.ZodOptional<z.ZodBoolean>;
        delete: z.ZodOptional<z.ZodBoolean>;
        exportCsv: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    systemFields: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodObject<{
        tenant: z.ZodOptional<z.ZodBoolean>;
        owner: z.ZodOptional<z.ZodBoolean>;
        audit: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>]>>;
    datasource: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    external: z.ZodOptional<z.ZodObject<{
        remoteName: z.ZodOptional<z.ZodString>;
        remoteSchema: z.ZodOptional<z.ZodString>;
        writable: z.ZodDefault<z.ZodBoolean>;
        columnMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        introspectedAt: z.ZodOptional<z.ZodString>;
        ignoreColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    fields: z.ZodRecord<z.ZodString, z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        label: z.ZodOptional<z.ZodString>;
        type: z.ZodEnum<{
            number: "number";
            boolean: "boolean";
            date: "date";
            record: "record";
            file: "file";
            code: "code";
            datetime: "datetime";
            signature: "signature";
            progress: "progress";
            url: "url";
            lookup: "lookup";
            master_detail: "master_detail";
            currency: "currency";
            percent: "percent";
            password: "password";
            secret: "secret";
            email: "email";
            time: "time";
            user: "user";
            text: "text";
            textarea: "textarea";
            phone: "phone";
            markdown: "markdown";
            html: "html";
            richtext: "richtext";
            toggle: "toggle";
            select: "select";
            multiselect: "multiselect";
            radio: "radio";
            checkboxes: "checkboxes";
            tree: "tree";
            image: "image";
            avatar: "avatar";
            video: "video";
            audio: "audio";
            formula: "formula";
            summary: "summary";
            autonumber: "autonumber";
            composite: "composite";
            repeater: "repeater";
            location: "location";
            address: "address";
            json: "json";
            color: "color";
            rating: "rating";
            slider: "slider";
            qrcode: "qrcode";
            tags: "tags";
            vector: "vector";
        }>;
        description: z.ZodOptional<z.ZodString>;
        format: z.ZodOptional<z.ZodString>;
        columnName: z.ZodOptional<z.ZodString>;
        required: z.ZodDefault<z.ZodBoolean>;
        searchable: z.ZodDefault<z.ZodBoolean>;
        multiple: z.ZodDefault<z.ZodBoolean>;
        unique: z.ZodDefault<z.ZodBoolean>;
        defaultValue: z.ZodOptional<z.ZodUnknown>;
        maxLength: z.ZodOptional<z.ZodNumber>;
        minLength: z.ZodOptional<z.ZodNumber>;
        precision: z.ZodOptional<z.ZodNumber>;
        scale: z.ZodOptional<z.ZodNumber>;
        min: z.ZodOptional<z.ZodNumber>;
        max: z.ZodOptional<z.ZodNumber>;
        options: z.ZodOptional<z.ZodArray<z.ZodObject<{
            label: z.ZodString;
            value: z.ZodString;
            color: z.ZodOptional<z.ZodString>;
            default: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>>;
        reference: z.ZodOptional<z.ZodString>;
        referenceFilters: z.ZodOptional<z.ZodArray<z.ZodString>>;
        deleteBehavior: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            set_null: "set_null";
            cascade: "cascade";
            restrict: "restrict";
        }>>>;
        inlineEdit: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
            grid: "grid";
            form: "form";
        }>]>>;
        inlineTitle: z.ZodOptional<z.ZodString>;
        inlineColumns: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        inlineAmountField: z.ZodOptional<z.ZodString>;
        relatedList: z.ZodOptional<z.ZodBoolean>;
        relatedListTitle: z.ZodOptional<z.ZodString>;
        relatedListColumns: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        displayField: z.ZodOptional<z.ZodString>;
        descriptionField: z.ZodOptional<z.ZodString>;
        lookupColumns: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            field: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            width: z.ZodOptional<z.ZodString>;
            type: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>]>>>;
        lookupPageSize: z.ZodOptional<z.ZodNumber>;
        lookupFilters: z.ZodOptional<z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            operator: z.ZodEnum<{
                in: "in";
                eq: "eq";
                ne: "ne";
                gt: "gt";
                lt: "lt";
                gte: "gte";
                lte: "lte";
                contains: "contains";
                notIn: "notIn";
            }>;
            value: z.ZodAny;
        }, z.core.$strip>>>;
        dependsOn: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            field: z.ZodString;
            param: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>]>>>;
        allowCreate: z.ZodOptional<z.ZodBoolean>;
        expression: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        returnType: z.ZodOptional<z.ZodEnum<{
            number: "number";
            boolean: "boolean";
            date: "date";
            text: "text";
        }>>;
        summaryOperations: z.ZodOptional<z.ZodObject<{
            object: z.ZodString;
            field: z.ZodString;
            function: z.ZodEnum<{
                min: "min";
                max: "max";
                count: "count";
                sum: "sum";
                avg: "avg";
            }>;
            relationshipField: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        language: z.ZodOptional<z.ZodString>;
        step: z.ZodOptional<z.ZodNumber>;
        currencyConfig: z.ZodOptional<z.ZodObject<{
            precision: z.ZodDefault<z.ZodNumber>;
            currencyMode: z.ZodDefault<z.ZodEnum<{
                fixed: "fixed";
                dynamic: "dynamic";
            }>>;
            defaultCurrency: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>>;
        dimensions: z.ZodOptional<z.ZodNumber>;
        vectorConfig: z.ZodOptional<z.ZodObject<{
            dimensions: z.ZodNumber;
            distanceMetric: z.ZodDefault<z.ZodEnum<{
                cosine: "cosine";
                euclidean: "euclidean";
                dotProduct: "dotProduct";
                manhattan: "manhattan";
            }>>;
            normalized: z.ZodDefault<z.ZodBoolean>;
            indexed: z.ZodDefault<z.ZodBoolean>;
            indexType: z.ZodOptional<z.ZodEnum<{
                flat: "flat";
                hnsw: "hnsw";
                ivfflat: "ivfflat";
            }>>;
        }, z.core.$strip>>;
        fileAttachmentConfig: z.ZodOptional<z.ZodObject<{
            minSize: z.ZodOptional<z.ZodNumber>;
            maxSize: z.ZodOptional<z.ZodNumber>;
            allowedTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            blockedTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            allowedMimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            blockedMimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            virusScan: z.ZodDefault<z.ZodBoolean>;
            virusScanProvider: z.ZodOptional<z.ZodEnum<{
                custom: "custom";
                clamav: "clamav";
                virustotal: "virustotal";
                metadefender: "metadefender";
            }>>;
            virusScanOnUpload: z.ZodDefault<z.ZodBoolean>;
            quarantineOnThreat: z.ZodDefault<z.ZodBoolean>;
            storageProvider: z.ZodOptional<z.ZodString>;
            storageBucket: z.ZodOptional<z.ZodString>;
            storagePrefix: z.ZodOptional<z.ZodString>;
            imageValidation: z.ZodOptional<z.ZodObject<{
                minWidth: z.ZodOptional<z.ZodNumber>;
                maxWidth: z.ZodOptional<z.ZodNumber>;
                minHeight: z.ZodOptional<z.ZodNumber>;
                maxHeight: z.ZodOptional<z.ZodNumber>;
                aspectRatio: z.ZodOptional<z.ZodString>;
                generateThumbnails: z.ZodDefault<z.ZodBoolean>;
                thumbnailSizes: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    width: z.ZodNumber;
                    height: z.ZodNumber;
                    crop: z.ZodDefault<z.ZodBoolean>;
                }, z.core.$strip>>>;
                preserveMetadata: z.ZodDefault<z.ZodBoolean>;
                autoRotate: z.ZodDefault<z.ZodBoolean>;
            }, z.core.$strip>>;
            allowMultiple: z.ZodDefault<z.ZodBoolean>;
            allowReplace: z.ZodDefault<z.ZodBoolean>;
            allowDelete: z.ZodDefault<z.ZodBoolean>;
            requireUpload: z.ZodDefault<z.ZodBoolean>;
            extractMetadata: z.ZodDefault<z.ZodBoolean>;
            extractText: z.ZodDefault<z.ZodBoolean>;
            versioningEnabled: z.ZodDefault<z.ZodBoolean>;
            maxVersions: z.ZodOptional<z.ZodNumber>;
            publicRead: z.ZodDefault<z.ZodBoolean>;
            presignedUrlExpiry: z.ZodDefault<z.ZodNumber>;
        }, z.core.$strip>>;
        trackHistory: z.ZodOptional<z.ZodBoolean>;
        dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
        group: z.ZodOptional<z.ZodString>;
        visibleWhen: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        readonlyWhen: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        requiredWhen: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        conditionalRequired: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        hidden: z.ZodDefault<z.ZodBoolean>;
        readonly: z.ZodDefault<z.ZodBoolean>;
        requiredPermissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
        system: z.ZodOptional<z.ZodBoolean>;
        sortable: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        inlineHelpText: z.ZodOptional<z.ZodString>;
        autonumberFormat: z.ZodOptional<z.ZodString>;
        index: z.ZodDefault<z.ZodBoolean>;
        externalId: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    indexes: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        fields: z.ZodArray<z.ZodString>;
        type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            hash: "hash";
            btree: "btree";
            gin: "gin";
            gist: "gist";
            fulltext: "fulltext";
        }>>>;
        unique: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        partial: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    fieldGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
        key: z.ZodString;
        label: z.ZodString;
        icon: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        collapse: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            none: "none";
            expanded: "expanded";
            collapsed: "collapsed";
        }>>>;
        defaultExpanded: z.ZodOptional<z.ZodBoolean>;
        collapsible: z.ZodOptional<z.ZodBoolean>;
        collapsed: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>>;
    tenancy: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        strategy: z.ZodEnum<{
            hybrid: "hybrid";
            shared: "shared";
            isolated: "isolated";
        }>;
        tenantField: z.ZodDefault<z.ZodString>;
        crossTenantAccess: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    access: z.ZodOptional<z.ZodObject<{
        default: z.ZodDefault<z.ZodEnum<{
            public: "public";
            private: "private";
        }>>;
    }, z.core.$strip>>;
    requiredPermissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
    softDelete: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        field: z.ZodDefault<z.ZodString>;
        cascadeDelete: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    versioning: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        strategy: z.ZodEnum<{
            snapshot: "snapshot";
            delta: "delta";
            "event-sourcing": "event-sourcing";
        }>;
        retentionDays: z.ZodOptional<z.ZodNumber>;
        versionField: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>>;
    validations: z.ZodOptional<z.ZodArray<z.ZodType<BaseValidationRuleShape, unknown, z.core.$ZodTypeInternals<BaseValidationRuleShape, unknown>>>>;
    activityMilestones: z.ZodOptional<z.ZodArray<z.ZodObject<{
        field: z.ZodString;
        value: z.ZodString;
        summary: z.ZodString;
        type: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    nameField: z.ZodOptional<z.ZodString>;
    displayNameField: z.ZodOptional<z.ZodString>;
    recordName: z.ZodOptional<z.ZodObject<{
        type: z.ZodEnum<{
            text: "text";
            autonumber: "autonumber";
        }>;
        displayFormat: z.ZodOptional<z.ZodString>;
        startNumber: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    titleFormat: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
        dialect: "cel" | "js" | "cron" | "template";
        source?: string | undefined;
        ast?: unknown;
        meta?: {
            rationale?: string | undefined;
            generatedBy?: string | undefined;
        } | undefined;
    }, string>>, z.ZodObject<{
        dialect: z.ZodEnum<{
            cel: "cel";
            js: "js";
            cron: "cron";
            template: "template";
        }>;
        source: z.ZodOptional<z.ZodString>;
        ast: z.ZodOptional<z.ZodUnknown>;
        meta: z.ZodOptional<z.ZodObject<{
            rationale: z.ZodOptional<z.ZodString>;
            generatedBy: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$strip>]>>;
    highlightFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
    compactLayout: z.ZodOptional<z.ZodArray<z.ZodString>>;
    stageField: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
    listViews: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        label: z.ZodOptional<z.ZodString>;
        type: z.ZodDefault<z.ZodEnum<{
            map: "map";
            tree: "tree";
            grid: "grid";
            kanban: "kanban";
            gallery: "gallery";
            calendar: "calendar";
            timeline: "timeline";
            gantt: "gantt";
            chart: "chart";
        }>>;
        data: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
            provider: z.ZodLiteral<"object">;
            object: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            provider: z.ZodLiteral<"api">;
            read: z.ZodOptional<z.ZodObject<{
                url: z.ZodString;
                method: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                    POST: "POST";
                    PATCH: "PATCH";
                    PUT: "PUT";
                    DELETE: "DELETE";
                    GET: "GET";
                }>>>;
                headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
                params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
                body: z.ZodOptional<z.ZodUnknown>;
            }, z.core.$strip>>;
            write: z.ZodOptional<z.ZodObject<{
                url: z.ZodString;
                method: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                    POST: "POST";
                    PATCH: "PATCH";
                    PUT: "PUT";
                    DELETE: "DELETE";
                    GET: "GET";
                }>>>;
                headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
                params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
                body: z.ZodOptional<z.ZodUnknown>;
            }, z.core.$strip>>;
        }, z.core.$strip>, z.ZodObject<{
            provider: z.ZodLiteral<"value">;
            items: z.ZodArray<z.ZodUnknown>;
        }, z.core.$strip>, z.ZodObject<{
            provider: z.ZodLiteral<"schema">;
            schemaId: z.ZodString;
            schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, z.core.$strip>], "provider">>;
        columns: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            width: z.ZodOptional<z.ZodNumber>;
            align: z.ZodOptional<z.ZodEnum<{
                left: "left";
                center: "center";
                right: "right";
            }>>;
            hidden: z.ZodOptional<z.ZodBoolean>;
            sortable: z.ZodOptional<z.ZodBoolean>;
            resizable: z.ZodOptional<z.ZodBoolean>;
            wrap: z.ZodOptional<z.ZodBoolean>;
            type: z.ZodOptional<z.ZodString>;
            pinned: z.ZodOptional<z.ZodEnum<{
                left: "left";
                right: "right";
            }>>;
            summary: z.ZodOptional<z.ZodEnum<{
                none: "none";
                min: "min";
                max: "max";
                count: "count";
                sum: "sum";
                avg: "avg";
                count_empty: "count_empty";
                count_filled: "count_filled";
                count_unique: "count_unique";
                percent_empty: "percent_empty";
                percent_filled: "percent_filled";
            }>>;
            link: z.ZodOptional<z.ZodBoolean>;
            action: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>]>;
        filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            operator: z.ZodString;
            value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>>;
        }, z.core.$strip>>>;
        sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            order: z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>;
        }, z.core.$strip>>]>>;
        searchableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        filterableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        userFilters: z.ZodOptional<z.ZodObject<{
            element: z.ZodDefault<z.ZodEnum<{
                toggle: "toggle";
                dropdown: "dropdown";
                tabs: "tabs";
            }>>;
            fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                label: z.ZodOptional<z.ZodString>;
                type: z.ZodOptional<z.ZodEnum<{
                    boolean: "boolean";
                    text: "text";
                    select: "select";
                    "multi-select": "multi-select";
                    "date-range": "date-range";
                }>>;
                options: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
                    label: z.ZodString;
                    color: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>>>;
                showCount: z.ZodOptional<z.ZodBoolean>;
                defaultValues: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
            }, z.core.$strip>>>;
            tabs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                label: z.ZodOptional<z.ZodString>;
                icon: z.ZodOptional<z.ZodString>;
                view: z.ZodOptional<z.ZodString>;
                filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    field: z.ZodString;
                    operator: z.ZodString;
                    value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>>;
                }, z.core.$strip>>>;
                order: z.ZodOptional<z.ZodNumber>;
                pinned: z.ZodDefault<z.ZodBoolean>;
                isDefault: z.ZodDefault<z.ZodBoolean>;
                visible: z.ZodDefault<z.ZodBoolean>;
            }, z.core.$strip>>>;
            showAllRecords: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>;
        resizable: z.ZodOptional<z.ZodBoolean>;
        striped: z.ZodOptional<z.ZodBoolean>;
        bordered: z.ZodOptional<z.ZodBoolean>;
        compactToolbar: z.ZodOptional<z.ZodBoolean>;
        selection: z.ZodOptional<z.ZodObject<{
            type: z.ZodDefault<z.ZodEnum<{
                single: "single";
                multiple: "multiple";
                none: "none";
            }>>;
        }, z.core.$strip>>;
        navigation: z.ZodOptional<z.ZodObject<{
            mode: z.ZodDefault<z.ZodEnum<{
                split: "split";
                none: "none";
                page: "page";
                drawer: "drawer";
                modal: "modal";
                popover: "popover";
                new_window: "new_window";
            }>>;
            view: z.ZodOptional<z.ZodString>;
            preventNavigation: z.ZodDefault<z.ZodBoolean>;
            openNewTab: z.ZodDefault<z.ZodBoolean>;
            width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
        }, z.core.$strip>>;
        pagination: z.ZodOptional<z.ZodObject<{
            pageSize: z.ZodDefault<z.ZodNumber>;
            pageSizeOptions: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
        }, z.core.$strip>>;
        kanban: z.ZodOptional<z.ZodObject<{
            groupByField: z.ZodString;
            summarizeField: z.ZodOptional<z.ZodString>;
            columns: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
        calendar: z.ZodOptional<z.ZodObject<{
            startDateField: z.ZodString;
            endDateField: z.ZodOptional<z.ZodString>;
            titleField: z.ZodString;
            colorField: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        gantt: z.ZodOptional<z.ZodObject<{
            startDateField: z.ZodString;
            endDateField: z.ZodString;
            titleField: z.ZodString;
            progressField: z.ZodOptional<z.ZodString>;
            dependenciesField: z.ZodOptional<z.ZodString>;
            colorField: z.ZodOptional<z.ZodString>;
            parentField: z.ZodOptional<z.ZodString>;
            typeField: z.ZodOptional<z.ZodString>;
            baselineStartField: z.ZodOptional<z.ZodString>;
            baselineEndField: z.ZodOptional<z.ZodString>;
            groupByField: z.ZodOptional<z.ZodString>;
            resourceView: z.ZodOptional<z.ZodBoolean>;
            assigneeField: z.ZodOptional<z.ZodString>;
            effortField: z.ZodOptional<z.ZodString>;
            capacity: z.ZodOptional<z.ZodNumber>;
            tooltipFields: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
                field: z.ZodString;
                label: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>]>>>;
            quickFilters: z.ZodOptional<z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                label: z.ZodOptional<z.ZodString>;
                options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
                    value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
                    label: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>]>>>;
            }, z.core.$strip>>>;
            autoZoomToFilter: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$loose>>;
        gallery: z.ZodOptional<z.ZodObject<{
            coverField: z.ZodOptional<z.ZodString>;
            coverFit: z.ZodDefault<z.ZodEnum<{
                cover: "cover";
                contain: "contain";
            }>>;
            cardSize: z.ZodDefault<z.ZodEnum<{
                small: "small";
                medium: "medium";
                large: "large";
            }>>;
            titleField: z.ZodOptional<z.ZodString>;
            visibleFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
        timeline: z.ZodOptional<z.ZodObject<{
            startDateField: z.ZodString;
            endDateField: z.ZodOptional<z.ZodString>;
            titleField: z.ZodString;
            groupByField: z.ZodOptional<z.ZodString>;
            colorField: z.ZodOptional<z.ZodString>;
            scale: z.ZodDefault<z.ZodEnum<{
                hour: "hour";
                day: "day";
                week: "week";
                month: "month";
                quarter: "quarter";
                year: "year";
            }>>;
        }, z.core.$strip>>;
        chart: z.ZodOptional<z.ZodObject<{
            chartType: z.ZodDefault<z.ZodEnum<{
                bar: "bar";
                line: "line";
                pie: "pie";
                area: "area";
                scatter: "scatter";
            }>>;
            dataset: z.ZodString;
            dimensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
            values: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
        tree: z.ZodOptional<z.ZodObject<{
            parentField: z.ZodOptional<z.ZodString>;
            labelField: z.ZodOptional<z.ZodString>;
            fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
            defaultExpandedDepth: z.ZodOptional<z.ZodNumber>;
        }, z.core.$loose>>;
        description: z.ZodOptional<z.ZodString>;
        sharing: z.ZodOptional<z.ZodObject<{
            type: z.ZodDefault<z.ZodEnum<{
                personal: "personal";
                collaborative: "collaborative";
            }>>;
            lockedBy: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        rowHeight: z.ZodOptional<z.ZodEnum<{
            medium: "medium";
            short: "short";
            compact: "compact";
            tall: "tall";
            extra_tall: "extra_tall";
        }>>;
        grouping: z.ZodOptional<z.ZodObject<{
            fields: z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                order: z.ZodDefault<z.ZodEnum<{
                    asc: "asc";
                    desc: "desc";
                }>>;
                collapsed: z.ZodDefault<z.ZodBoolean>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        rowColor: z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            colors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        }, z.core.$strip>>;
        hiddenFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        fieldOrder: z.ZodOptional<z.ZodArray<z.ZodString>>;
        rowActions: z.ZodOptional<z.ZodArray<z.ZodString>>;
        bulkActions: z.ZodOptional<z.ZodArray<z.ZodString>>;
        bulkActionDefs: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
        virtualScroll: z.ZodOptional<z.ZodBoolean>;
        conditionalFormatting: z.ZodOptional<z.ZodArray<z.ZodObject<{
            condition: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            }, string>>, z.ZodObject<{
                dialect: z.ZodEnum<{
                    cel: "cel";
                    js: "js";
                    cron: "cron";
                    template: "template";
                }>;
                source: z.ZodOptional<z.ZodString>;
                ast: z.ZodOptional<z.ZodUnknown>;
                meta: z.ZodOptional<z.ZodObject<{
                    rationale: z.ZodOptional<z.ZodString>;
                    generatedBy: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>>;
            }, z.core.$strip>]>;
            style: z.ZodRecord<z.ZodString, z.ZodString>;
        }, z.core.$strip>>>;
        inlineEdit: z.ZodOptional<z.ZodBoolean>;
        exportOptions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            json: "json";
            csv: "csv";
            xlsx: "xlsx";
            pdf: "pdf";
        }>>>;
        userActions: z.ZodOptional<z.ZodObject<{
            sort: z.ZodDefault<z.ZodBoolean>;
            search: z.ZodDefault<z.ZodBoolean>;
            filter: z.ZodDefault<z.ZodBoolean>;
            rowHeight: z.ZodDefault<z.ZodBoolean>;
            addRecordForm: z.ZodDefault<z.ZodBoolean>;
            editInline: z.ZodDefault<z.ZodBoolean>;
            buttons: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
        appearance: z.ZodOptional<z.ZodObject<{
            showDescription: z.ZodDefault<z.ZodBoolean>;
            allowedVisualizations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
                map: "map";
                tree: "tree";
                grid: "grid";
                kanban: "kanban";
                gallery: "gallery";
                calendar: "calendar";
                timeline: "timeline";
                gantt: "gantt";
                chart: "chart";
            }>>>;
        }, z.core.$strip>>;
        tabs: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            view: z.ZodOptional<z.ZodString>;
            filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                operator: z.ZodString;
                value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>>;
            }, z.core.$strip>>>;
            order: z.ZodOptional<z.ZodNumber>;
            pinned: z.ZodDefault<z.ZodBoolean>;
            isDefault: z.ZodDefault<z.ZodBoolean>;
            visible: z.ZodDefault<z.ZodBoolean>;
        }, z.core.$strip>>>;
        addRecord: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodDefault<z.ZodBoolean>;
            position: z.ZodDefault<z.ZodEnum<{
                top: "top";
                bottom: "bottom";
                both: "both";
            }>>;
            mode: z.ZodDefault<z.ZodEnum<{
                form: "form";
                modal: "modal";
                inline: "inline";
            }>>;
            formView: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        showRecordCount: z.ZodOptional<z.ZodBoolean>;
        allowPrinting: z.ZodOptional<z.ZodBoolean>;
        emptyState: z.ZodOptional<z.ZodObject<{
            title: z.ZodOptional<z.ZodString>;
            message: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        aria: z.ZodOptional<z.ZodObject<{
            ariaLabel: z.ZodOptional<z.ZodString>;
            ariaDescribedBy: z.ZodOptional<z.ZodString>;
            role: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        responsive: z.ZodOptional<z.ZodObject<{
            breakpoint: z.ZodOptional<z.ZodEnum<{
                md: "md";
                xs: "xs";
                sm: "sm";
                lg: "lg";
                xl: "xl";
                "2xl": "2xl";
            }>>;
            hiddenOn: z.ZodOptional<z.ZodArray<z.ZodEnum<{
                md: "md";
                xs: "xs";
                sm: "sm";
                lg: "lg";
                xl: "xl";
                "2xl": "2xl";
            }>>>;
            columns: z.ZodOptional<z.ZodObject<{
                xs: z.ZodOptional<z.ZodNumber>;
                sm: z.ZodOptional<z.ZodNumber>;
                md: z.ZodOptional<z.ZodNumber>;
                lg: z.ZodOptional<z.ZodNumber>;
                xl: z.ZodOptional<z.ZodNumber>;
                '2xl': z.ZodOptional<z.ZodNumber>;
            }, z.core.$strip>>;
            order: z.ZodOptional<z.ZodObject<{
                xs: z.ZodOptional<z.ZodNumber>;
                sm: z.ZodOptional<z.ZodNumber>;
                md: z.ZodOptional<z.ZodNumber>;
                lg: z.ZodOptional<z.ZodNumber>;
                xl: z.ZodOptional<z.ZodNumber>;
                '2xl': z.ZodOptional<z.ZodNumber>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        performance: z.ZodOptional<z.ZodObject<{
            lazyLoad: z.ZodOptional<z.ZodBoolean>;
            virtualScroll: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodDefault<z.ZodBoolean>;
                itemHeight: z.ZodOptional<z.ZodNumber>;
                overscan: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strip>>;
            cacheStrategy: z.ZodOptional<z.ZodEnum<{
                none: "none";
                "cache-first": "cache-first";
                "network-first": "network-first";
                "stale-while-revalidate": "stale-while-revalidate";
            }>>;
            prefetch: z.ZodOptional<z.ZodBoolean>;
            pageSize: z.ZodOptional<z.ZodNumber>;
            debounceMs: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>;
    }, z.core.$strip>>>;
    searchableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
    search: z.ZodOptional<z.ZodObject<{
        fields: z.ZodArray<z.ZodString>;
        displayFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        filters: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    enable: z.ZodOptional<z.ZodObject<{
        trackHistory: z.ZodDefault<z.ZodBoolean>;
        searchable: z.ZodDefault<z.ZodBoolean>;
        apiEnabled: z.ZodDefault<z.ZodBoolean>;
        apiMethods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            search: "search";
            get: "get";
            delete: "delete";
            update: "update";
            upsert: "upsert";
            create: "create";
            list: "list";
            bulk: "bulk";
            aggregate: "aggregate";
            history: "history";
            restore: "restore";
            purge: "purge";
            import: "import";
            export: "export";
        }>>>;
        files: z.ZodDefault<z.ZodBoolean>;
        feeds: z.ZodDefault<z.ZodBoolean>;
        activities: z.ZodDefault<z.ZodBoolean>;
        trash: z.ZodDefault<z.ZodBoolean>;
        mru: z.ZodDefault<z.ZodBoolean>;
        clone: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    sharingModel: z.ZodOptional<z.ZodEnum<{
        full: "full";
        read: "read";
        private: "private";
        public_read: "public_read";
        public_read_write: "public_read_write";
        controlled_by_parent: "controlled_by_parent";
        read_write: "read_write";
    }>>;
    publicSharing: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodDefault<z.ZodBoolean>;
        allowedAudiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            email: "email";
            public: "public";
            link_only: "link_only";
            signed_in: "signed_in";
        }>>>;
        allowedPermissions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            view: "view";
            edit: "edit";
            comment: "comment";
        }>>>;
        maxExpiryDays: z.ZodOptional<z.ZodNumber>;
        redactFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        eligibility: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    keyPrefix: z.ZodOptional<z.ZodString>;
    actions: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodObject<{
        name: z.ZodString;
        label: z.ZodString;
        objectName: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        locations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            list_toolbar: "list_toolbar";
            list_item: "list_item";
            record_header: "record_header";
            record_more: "record_more";
            record_related: "record_related";
            record_section: "record_section";
            global_nav: "global_nav";
        }>>>;
        component: z.ZodOptional<z.ZodEnum<{
            "action:button": "action:button";
            "action:icon": "action:icon";
            "action:menu": "action:menu";
            "action:group": "action:group";
        }>>;
        type: z.ZodDefault<z.ZodEnum<{
            url: "url";
            form: "form";
            flow: "flow";
            api: "api";
            script: "script";
            modal: "modal";
        }>>;
        target: z.ZodOptional<z.ZodString>;
        openIn: z.ZodOptional<z.ZodEnum<{
            self: "self";
            "new-tab": "new-tab";
        }>>;
        body: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
            language: z.ZodLiteral<"expression">;
            source: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            language: z.ZodLiteral<"js">;
            source: z.ZodString;
            capabilities: z.ZodDefault<z.ZodArray<z.ZodEnum<{
                "api.read": "api.read";
                "api.write": "api.write";
                "api.transaction": "api.transaction";
                "crypto.uuid": "crypto.uuid";
                "crypto.hash": "crypto.hash";
                log: "log";
            }>>>;
            timeoutMs: z.ZodOptional<z.ZodNumber>;
            memoryMb: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>], "language">>;
        execute: z.ZodOptional<z.ZodString>;
        params: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            field: z.ZodOptional<z.ZodString>;
            objectOverride: z.ZodOptional<z.ZodString>;
            label: z.ZodOptional<z.ZodString>;
            type: z.ZodOptional<z.ZodEnum<{
                number: "number";
                boolean: "boolean";
                date: "date";
                record: "record";
                file: "file";
                code: "code";
                datetime: "datetime";
                signature: "signature";
                progress: "progress";
                url: "url";
                lookup: "lookup";
                master_detail: "master_detail";
                currency: "currency";
                percent: "percent";
                password: "password";
                secret: "secret";
                email: "email";
                time: "time";
                user: "user";
                text: "text";
                textarea: "textarea";
                phone: "phone";
                markdown: "markdown";
                html: "html";
                richtext: "richtext";
                toggle: "toggle";
                select: "select";
                multiselect: "multiselect";
                radio: "radio";
                checkboxes: "checkboxes";
                tree: "tree";
                image: "image";
                avatar: "avatar";
                video: "video";
                audio: "audio";
                formula: "formula";
                summary: "summary";
                autonumber: "autonumber";
                composite: "composite";
                repeater: "repeater";
                location: "location";
                address: "address";
                json: "json";
                color: "color";
                rating: "rating";
                slider: "slider";
                qrcode: "qrcode";
                tags: "tags";
                vector: "vector";
            }>>;
            required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
            options: z.ZodOptional<z.ZodArray<z.ZodObject<{
                label: z.ZodString;
                value: z.ZodString;
            }, z.core.$strip>>>;
            placeholder: z.ZodOptional<z.ZodString>;
            helpText: z.ZodOptional<z.ZodString>;
            defaultValue: z.ZodOptional<z.ZodUnknown>;
            defaultFromRow: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>>;
        variant: z.ZodOptional<z.ZodEnum<{
            link: "link";
            primary: "primary";
            secondary: "secondary";
            danger: "danger";
            ghost: "ghost";
        }>>;
        confirmText: z.ZodOptional<z.ZodString>;
        successMessage: z.ZodOptional<z.ZodString>;
        errorMessage: z.ZodOptional<z.ZodString>;
        refreshAfter: z.ZodDefault<z.ZodBoolean>;
        undoable: z.ZodOptional<z.ZodBoolean>;
        resultDialog: z.ZodOptional<z.ZodObject<{
            title: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            acknowledge: z.ZodOptional<z.ZodString>;
            format: z.ZodOptional<z.ZodEnum<{
                secret: "secret";
                text: "text";
                json: "json";
                qrcode: "qrcode";
                "code-list": "code-list";
            }>>;
            fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
                path: z.ZodString;
                label: z.ZodOptional<z.ZodString>;
                format: z.ZodOptional<z.ZodEnum<{
                    secret: "secret";
                    text: "text";
                    json: "json";
                    qrcode: "qrcode";
                    "code-list": "code-list";
                }>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
        visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        disabled: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>]>>;
        requiredPermissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
        shortcut: z.ZodOptional<z.ZodString>;
        bulkEnabled: z.ZodOptional<z.ZodBoolean>;
        ai: z.ZodOptional<z.ZodObject<{
            exposed: z.ZodDefault<z.ZodBoolean>;
            description: z.ZodOptional<z.ZodString>;
            category: z.ZodOptional<z.ZodEnum<{
                action: "action";
                data: "data";
                flow: "flow";
                integration: "integration";
                vector_search: "vector_search";
                analytics: "analytics";
                utility: "utility";
            }>>;
            paramHints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                description: z.ZodOptional<z.ZodString>;
                enum: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
                examples: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
            }, z.core.$strip>>>;
            outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            requiresConfirmation: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>;
        recordIdParam: z.ZodOptional<z.ZodString>;
        recordIdField: z.ZodOptional<z.ZodString>;
        bodyShape: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"flat">, z.ZodObject<{
            wrap: z.ZodString;
        }, z.core.$strip>]>>;
        method: z.ZodOptional<z.ZodEnum<{
            POST: "POST";
            PATCH: "PATCH";
            PUT: "PUT";
            DELETE: "DELETE";
        }>>;
        bodyExtra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        mode: z.ZodOptional<z.ZodEnum<{
            custom: "custom";
            delete: "delete";
            edit: "edit";
            create: "create";
        }>>;
        opensInNewTab: z.ZodOptional<z.ZodBoolean>;
        newTabUrl: z.ZodOptional<z.ZodString>;
        timeout: z.ZodOptional<z.ZodNumber>;
        aria: z.ZodOptional<z.ZodObject<{
            ariaLabel: z.ZodOptional<z.ZodString>;
            ariaDescribedBy: z.ZodOptional<z.ZodString>;
            role: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodTransform<{
        name: string;
        label: string;
        type: "url" | "form" | "flow" | "api" | "script" | "modal";
        refreshAfter: boolean;
        objectName?: string | undefined;
        icon?: string | undefined;
        locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "record_section" | "global_nav")[] | undefined;
        component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
        target?: string | undefined;
        openIn?: "self" | "new-tab" | undefined;
        body?: {
            language: "expression";
            source: string;
        } | {
            language: "js";
            source: string;
            capabilities: ("api.read" | "api.write" | "api.transaction" | "crypto.uuid" | "crypto.hash" | "log")[];
            timeoutMs?: number | undefined;
            memoryMb?: number | undefined;
        } | undefined;
        execute?: string | undefined;
        params?: {
            required: boolean;
            name?: string | undefined;
            field?: string | undefined;
            objectOverride?: string | undefined;
            label?: string | undefined;
            type?: "number" | "boolean" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "lookup" | "master_detail" | "currency" | "percent" | "password" | "secret" | "email" | "time" | "user" | "text" | "textarea" | "phone" | "markdown" | "html" | "richtext" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
            options?: {
                label: string;
                value: string;
            }[] | undefined;
            placeholder?: string | undefined;
            helpText?: string | undefined;
            defaultValue?: unknown;
            defaultFromRow?: boolean | undefined;
        }[] | undefined;
        variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
        confirmText?: string | undefined;
        successMessage?: string | undefined;
        errorMessage?: string | undefined;
        undoable?: boolean | undefined;
        resultDialog?: {
            title?: string | undefined;
            description?: string | undefined;
            acknowledge?: string | undefined;
            format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
            fields?: {
                path: string;
                label?: string | undefined;
                format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
            }[] | undefined;
        } | undefined;
        visible?: {
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        } | undefined;
        disabled?: boolean | {
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        } | undefined;
        requiredPermissions?: string[] | undefined;
        shortcut?: string | undefined;
        bulkEnabled?: boolean | undefined;
        ai?: {
            exposed: boolean;
            description?: string | undefined;
            category?: "action" | "data" | "flow" | "integration" | "vector_search" | "analytics" | "utility" | undefined;
            paramHints?: Record<string, {
                description?: string | undefined;
                enum?: (string | number)[] | undefined;
                examples?: unknown[] | undefined;
            }> | undefined;
            outputSchema?: Record<string, unknown> | undefined;
            requiresConfirmation?: boolean | undefined;
        } | undefined;
        recordIdParam?: string | undefined;
        recordIdField?: string | undefined;
        bodyShape?: "flat" | {
            wrap: string;
        } | undefined;
        method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
        bodyExtra?: Record<string, unknown> | undefined;
        mode?: "custom" | "delete" | "edit" | "create" | undefined;
        opensInNewTab?: boolean | undefined;
        newTabUrl?: string | undefined;
        timeout?: number | undefined;
        aria?: {
            ariaLabel?: string | undefined;
            ariaDescribedBy?: string | undefined;
            role?: string | undefined;
        } | undefined;
    }, {
        name: string;
        label: string;
        type: "url" | "form" | "flow" | "api" | "script" | "modal";
        refreshAfter: boolean;
        objectName?: string | undefined;
        icon?: string | undefined;
        locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "record_section" | "global_nav")[] | undefined;
        component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
        target?: string | undefined;
        openIn?: "self" | "new-tab" | undefined;
        body?: {
            language: "expression";
            source: string;
        } | {
            language: "js";
            source: string;
            capabilities: ("api.read" | "api.write" | "api.transaction" | "crypto.uuid" | "crypto.hash" | "log")[];
            timeoutMs?: number | undefined;
            memoryMb?: number | undefined;
        } | undefined;
        execute?: string | undefined;
        params?: {
            required: boolean;
            name?: string | undefined;
            field?: string | undefined;
            objectOverride?: string | undefined;
            label?: string | undefined;
            type?: "number" | "boolean" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "lookup" | "master_detail" | "currency" | "percent" | "password" | "secret" | "email" | "time" | "user" | "text" | "textarea" | "phone" | "markdown" | "html" | "richtext" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
            options?: {
                label: string;
                value: string;
            }[] | undefined;
            placeholder?: string | undefined;
            helpText?: string | undefined;
            defaultValue?: unknown;
            defaultFromRow?: boolean | undefined;
        }[] | undefined;
        variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
        confirmText?: string | undefined;
        successMessage?: string | undefined;
        errorMessage?: string | undefined;
        undoable?: boolean | undefined;
        resultDialog?: {
            title?: string | undefined;
            description?: string | undefined;
            acknowledge?: string | undefined;
            format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
            fields?: {
                path: string;
                label?: string | undefined;
                format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
            }[] | undefined;
        } | undefined;
        visible?: {
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        } | undefined;
        disabled?: boolean | {
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        } | undefined;
        requiredPermissions?: string[] | undefined;
        shortcut?: string | undefined;
        bulkEnabled?: boolean | undefined;
        ai?: {
            exposed: boolean;
            description?: string | undefined;
            category?: "action" | "data" | "flow" | "integration" | "vector_search" | "analytics" | "utility" | undefined;
            paramHints?: Record<string, {
                description?: string | undefined;
                enum?: (string | number)[] | undefined;
                examples?: unknown[] | undefined;
            }> | undefined;
            outputSchema?: Record<string, unknown> | undefined;
            requiresConfirmation?: boolean | undefined;
        } | undefined;
        recordIdParam?: string | undefined;
        recordIdField?: string | undefined;
        bodyShape?: "flat" | {
            wrap: string;
        } | undefined;
        method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
        bodyExtra?: Record<string, unknown> | undefined;
        mode?: "custom" | "delete" | "edit" | "create" | undefined;
        opensInNewTab?: boolean | undefined;
        newTabUrl?: string | undefined;
        timeout?: number | undefined;
        aria?: {
            ariaLabel?: string | undefined;
            ariaDescribedBy?: string | undefined;
            role?: string | undefined;
        } | undefined;
    }>>>>;
    protection: z.ZodOptional<z.ZodObject<{
        lock: z.ZodEnum<{
            full: "full";
            none: "none";
            "no-overlay": "no-overlay";
            "no-delete": "no-delete";
        }>;
        reason: z.ZodString;
        docsUrl: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>>;
}, z.core.$strip>;
/**
 * Rejects excess top-level keys at compile time: any key of `T` that is not a
 * key of the ObjectSchema input shape is constrained to `never`, turning the
 * silent strip into a `tsc` error at the authoring site as well as at build.
 */
type NoExcessObjectKeys<T> = T & Record<Exclude<keyof T, keyof z.input<typeof ObjectSchemaBase>>, never>;
/**
 * Enhanced ObjectSchema with Factory
 */
declare const ObjectSchema: z.ZodObject<{
    _lock: z.ZodOptional<z.ZodEnum<{
        full: "full";
        none: "none";
        "no-overlay": "no-overlay";
        "no-delete": "no-delete";
    }>>;
    _lockReason: z.ZodOptional<z.ZodString>;
    _lockSource: z.ZodOptional<z.ZodEnum<{
        artifact: "artifact";
        package: "package";
        "env-forced": "env-forced";
    }>>;
    _provenance: z.ZodOptional<z.ZodEnum<{
        package: "package";
        "env-forced": "env-forced";
        org: "org";
    }>>;
    _packageId: z.ZodOptional<z.ZodString>;
    _packageVersion: z.ZodOptional<z.ZodString>;
    _lockDocsUrl: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    pluralLabel: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    icon: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    active: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    isSystem: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    abstract: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    managedBy: z.ZodOptional<z.ZodEnum<{
        platform: "platform";
        system: "system";
        config: "config";
        "append-only": "append-only";
        "better-auth": "better-auth";
    }>>;
    userActions: z.ZodOptional<z.ZodObject<{
        create: z.ZodOptional<z.ZodBoolean>;
        import: z.ZodOptional<z.ZodBoolean>;
        edit: z.ZodOptional<z.ZodBoolean>;
        delete: z.ZodOptional<z.ZodBoolean>;
        exportCsv: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    systemFields: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodObject<{
        tenant: z.ZodOptional<z.ZodBoolean>;
        owner: z.ZodOptional<z.ZodBoolean>;
        audit: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>]>>;
    datasource: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    external: z.ZodOptional<z.ZodObject<{
        remoteName: z.ZodOptional<z.ZodString>;
        remoteSchema: z.ZodOptional<z.ZodString>;
        writable: z.ZodDefault<z.ZodBoolean>;
        columnMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        introspectedAt: z.ZodOptional<z.ZodString>;
        ignoreColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    fields: z.ZodRecord<z.ZodString, z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        label: z.ZodOptional<z.ZodString>;
        type: z.ZodEnum<{
            number: "number";
            boolean: "boolean";
            date: "date";
            record: "record";
            file: "file";
            code: "code";
            datetime: "datetime";
            signature: "signature";
            progress: "progress";
            url: "url";
            lookup: "lookup";
            master_detail: "master_detail";
            currency: "currency";
            percent: "percent";
            password: "password";
            secret: "secret";
            email: "email";
            time: "time";
            user: "user";
            text: "text";
            textarea: "textarea";
            phone: "phone";
            markdown: "markdown";
            html: "html";
            richtext: "richtext";
            toggle: "toggle";
            select: "select";
            multiselect: "multiselect";
            radio: "radio";
            checkboxes: "checkboxes";
            tree: "tree";
            image: "image";
            avatar: "avatar";
            video: "video";
            audio: "audio";
            formula: "formula";
            summary: "summary";
            autonumber: "autonumber";
            composite: "composite";
            repeater: "repeater";
            location: "location";
            address: "address";
            json: "json";
            color: "color";
            rating: "rating";
            slider: "slider";
            qrcode: "qrcode";
            tags: "tags";
            vector: "vector";
        }>;
        description: z.ZodOptional<z.ZodString>;
        format: z.ZodOptional<z.ZodString>;
        columnName: z.ZodOptional<z.ZodString>;
        required: z.ZodDefault<z.ZodBoolean>;
        searchable: z.ZodDefault<z.ZodBoolean>;
        multiple: z.ZodDefault<z.ZodBoolean>;
        unique: z.ZodDefault<z.ZodBoolean>;
        defaultValue: z.ZodOptional<z.ZodUnknown>;
        maxLength: z.ZodOptional<z.ZodNumber>;
        minLength: z.ZodOptional<z.ZodNumber>;
        precision: z.ZodOptional<z.ZodNumber>;
        scale: z.ZodOptional<z.ZodNumber>;
        min: z.ZodOptional<z.ZodNumber>;
        max: z.ZodOptional<z.ZodNumber>;
        options: z.ZodOptional<z.ZodArray<z.ZodObject<{
            label: z.ZodString;
            value: z.ZodString;
            color: z.ZodOptional<z.ZodString>;
            default: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>>;
        reference: z.ZodOptional<z.ZodString>;
        referenceFilters: z.ZodOptional<z.ZodArray<z.ZodString>>;
        deleteBehavior: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            set_null: "set_null";
            cascade: "cascade";
            restrict: "restrict";
        }>>>;
        inlineEdit: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
            grid: "grid";
            form: "form";
        }>]>>;
        inlineTitle: z.ZodOptional<z.ZodString>;
        inlineColumns: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        inlineAmountField: z.ZodOptional<z.ZodString>;
        relatedList: z.ZodOptional<z.ZodBoolean>;
        relatedListTitle: z.ZodOptional<z.ZodString>;
        relatedListColumns: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        displayField: z.ZodOptional<z.ZodString>;
        descriptionField: z.ZodOptional<z.ZodString>;
        lookupColumns: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            field: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            width: z.ZodOptional<z.ZodString>;
            type: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>]>>>;
        lookupPageSize: z.ZodOptional<z.ZodNumber>;
        lookupFilters: z.ZodOptional<z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            operator: z.ZodEnum<{
                in: "in";
                eq: "eq";
                ne: "ne";
                gt: "gt";
                lt: "lt";
                gte: "gte";
                lte: "lte";
                contains: "contains";
                notIn: "notIn";
            }>;
            value: z.ZodAny;
        }, z.core.$strip>>>;
        dependsOn: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            field: z.ZodString;
            param: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>]>>>;
        allowCreate: z.ZodOptional<z.ZodBoolean>;
        expression: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        returnType: z.ZodOptional<z.ZodEnum<{
            number: "number";
            boolean: "boolean";
            date: "date";
            text: "text";
        }>>;
        summaryOperations: z.ZodOptional<z.ZodObject<{
            object: z.ZodString;
            field: z.ZodString;
            function: z.ZodEnum<{
                min: "min";
                max: "max";
                count: "count";
                sum: "sum";
                avg: "avg";
            }>;
            relationshipField: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        language: z.ZodOptional<z.ZodString>;
        step: z.ZodOptional<z.ZodNumber>;
        currencyConfig: z.ZodOptional<z.ZodObject<{
            precision: z.ZodDefault<z.ZodNumber>;
            currencyMode: z.ZodDefault<z.ZodEnum<{
                fixed: "fixed";
                dynamic: "dynamic";
            }>>;
            defaultCurrency: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>>;
        dimensions: z.ZodOptional<z.ZodNumber>;
        vectorConfig: z.ZodOptional<z.ZodObject<{
            dimensions: z.ZodNumber;
            distanceMetric: z.ZodDefault<z.ZodEnum<{
                cosine: "cosine";
                euclidean: "euclidean";
                dotProduct: "dotProduct";
                manhattan: "manhattan";
            }>>;
            normalized: z.ZodDefault<z.ZodBoolean>;
            indexed: z.ZodDefault<z.ZodBoolean>;
            indexType: z.ZodOptional<z.ZodEnum<{
                flat: "flat";
                hnsw: "hnsw";
                ivfflat: "ivfflat";
            }>>;
        }, z.core.$strip>>;
        fileAttachmentConfig: z.ZodOptional<z.ZodObject<{
            minSize: z.ZodOptional<z.ZodNumber>;
            maxSize: z.ZodOptional<z.ZodNumber>;
            allowedTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            blockedTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            allowedMimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            blockedMimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            virusScan: z.ZodDefault<z.ZodBoolean>;
            virusScanProvider: z.ZodOptional<z.ZodEnum<{
                custom: "custom";
                clamav: "clamav";
                virustotal: "virustotal";
                metadefender: "metadefender";
            }>>;
            virusScanOnUpload: z.ZodDefault<z.ZodBoolean>;
            quarantineOnThreat: z.ZodDefault<z.ZodBoolean>;
            storageProvider: z.ZodOptional<z.ZodString>;
            storageBucket: z.ZodOptional<z.ZodString>;
            storagePrefix: z.ZodOptional<z.ZodString>;
            imageValidation: z.ZodOptional<z.ZodObject<{
                minWidth: z.ZodOptional<z.ZodNumber>;
                maxWidth: z.ZodOptional<z.ZodNumber>;
                minHeight: z.ZodOptional<z.ZodNumber>;
                maxHeight: z.ZodOptional<z.ZodNumber>;
                aspectRatio: z.ZodOptional<z.ZodString>;
                generateThumbnails: z.ZodDefault<z.ZodBoolean>;
                thumbnailSizes: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    width: z.ZodNumber;
                    height: z.ZodNumber;
                    crop: z.ZodDefault<z.ZodBoolean>;
                }, z.core.$strip>>>;
                preserveMetadata: z.ZodDefault<z.ZodBoolean>;
                autoRotate: z.ZodDefault<z.ZodBoolean>;
            }, z.core.$strip>>;
            allowMultiple: z.ZodDefault<z.ZodBoolean>;
            allowReplace: z.ZodDefault<z.ZodBoolean>;
            allowDelete: z.ZodDefault<z.ZodBoolean>;
            requireUpload: z.ZodDefault<z.ZodBoolean>;
            extractMetadata: z.ZodDefault<z.ZodBoolean>;
            extractText: z.ZodDefault<z.ZodBoolean>;
            versioningEnabled: z.ZodDefault<z.ZodBoolean>;
            maxVersions: z.ZodOptional<z.ZodNumber>;
            publicRead: z.ZodDefault<z.ZodBoolean>;
            presignedUrlExpiry: z.ZodDefault<z.ZodNumber>;
        }, z.core.$strip>>;
        trackHistory: z.ZodOptional<z.ZodBoolean>;
        dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
        group: z.ZodOptional<z.ZodString>;
        visibleWhen: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        readonlyWhen: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        requiredWhen: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        conditionalRequired: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        hidden: z.ZodDefault<z.ZodBoolean>;
        readonly: z.ZodDefault<z.ZodBoolean>;
        requiredPermissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
        system: z.ZodOptional<z.ZodBoolean>;
        sortable: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        inlineHelpText: z.ZodOptional<z.ZodString>;
        autonumberFormat: z.ZodOptional<z.ZodString>;
        index: z.ZodDefault<z.ZodBoolean>;
        externalId: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    indexes: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        fields: z.ZodArray<z.ZodString>;
        type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            hash: "hash";
            btree: "btree";
            gin: "gin";
            gist: "gist";
            fulltext: "fulltext";
        }>>>;
        unique: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        partial: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    fieldGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
        key: z.ZodString;
        label: z.ZodString;
        icon: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        collapse: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            none: "none";
            expanded: "expanded";
            collapsed: "collapsed";
        }>>>;
        defaultExpanded: z.ZodOptional<z.ZodBoolean>;
        collapsible: z.ZodOptional<z.ZodBoolean>;
        collapsed: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>>;
    tenancy: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        strategy: z.ZodEnum<{
            hybrid: "hybrid";
            shared: "shared";
            isolated: "isolated";
        }>;
        tenantField: z.ZodDefault<z.ZodString>;
        crossTenantAccess: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    access: z.ZodOptional<z.ZodObject<{
        default: z.ZodDefault<z.ZodEnum<{
            public: "public";
            private: "private";
        }>>;
    }, z.core.$strip>>;
    requiredPermissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
    softDelete: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        field: z.ZodDefault<z.ZodString>;
        cascadeDelete: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    versioning: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        strategy: z.ZodEnum<{
            snapshot: "snapshot";
            delta: "delta";
            "event-sourcing": "event-sourcing";
        }>;
        retentionDays: z.ZodOptional<z.ZodNumber>;
        versionField: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>>;
    validations: z.ZodOptional<z.ZodArray<z.ZodType<BaseValidationRuleShape, unknown, z.core.$ZodTypeInternals<BaseValidationRuleShape, unknown>>>>;
    activityMilestones: z.ZodOptional<z.ZodArray<z.ZodObject<{
        field: z.ZodString;
        value: z.ZodString;
        summary: z.ZodString;
        type: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    nameField: z.ZodOptional<z.ZodString>;
    displayNameField: z.ZodOptional<z.ZodString>;
    recordName: z.ZodOptional<z.ZodObject<{
        type: z.ZodEnum<{
            text: "text";
            autonumber: "autonumber";
        }>;
        displayFormat: z.ZodOptional<z.ZodString>;
        startNumber: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    titleFormat: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
        dialect: "cel" | "js" | "cron" | "template";
        source?: string | undefined;
        ast?: unknown;
        meta?: {
            rationale?: string | undefined;
            generatedBy?: string | undefined;
        } | undefined;
    }, string>>, z.ZodObject<{
        dialect: z.ZodEnum<{
            cel: "cel";
            js: "js";
            cron: "cron";
            template: "template";
        }>;
        source: z.ZodOptional<z.ZodString>;
        ast: z.ZodOptional<z.ZodUnknown>;
        meta: z.ZodOptional<z.ZodObject<{
            rationale: z.ZodOptional<z.ZodString>;
            generatedBy: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$strip>]>>;
    highlightFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
    compactLayout: z.ZodOptional<z.ZodArray<z.ZodString>>;
    stageField: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
    listViews: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        label: z.ZodOptional<z.ZodString>;
        type: z.ZodDefault<z.ZodEnum<{
            map: "map";
            tree: "tree";
            grid: "grid";
            kanban: "kanban";
            gallery: "gallery";
            calendar: "calendar";
            timeline: "timeline";
            gantt: "gantt";
            chart: "chart";
        }>>;
        data: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
            provider: z.ZodLiteral<"object">;
            object: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            provider: z.ZodLiteral<"api">;
            read: z.ZodOptional<z.ZodObject<{
                url: z.ZodString;
                method: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                    POST: "POST";
                    PATCH: "PATCH";
                    PUT: "PUT";
                    DELETE: "DELETE";
                    GET: "GET";
                }>>>;
                headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
                params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
                body: z.ZodOptional<z.ZodUnknown>;
            }, z.core.$strip>>;
            write: z.ZodOptional<z.ZodObject<{
                url: z.ZodString;
                method: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                    POST: "POST";
                    PATCH: "PATCH";
                    PUT: "PUT";
                    DELETE: "DELETE";
                    GET: "GET";
                }>>>;
                headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
                params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
                body: z.ZodOptional<z.ZodUnknown>;
            }, z.core.$strip>>;
        }, z.core.$strip>, z.ZodObject<{
            provider: z.ZodLiteral<"value">;
            items: z.ZodArray<z.ZodUnknown>;
        }, z.core.$strip>, z.ZodObject<{
            provider: z.ZodLiteral<"schema">;
            schemaId: z.ZodString;
            schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, z.core.$strip>], "provider">>;
        columns: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            width: z.ZodOptional<z.ZodNumber>;
            align: z.ZodOptional<z.ZodEnum<{
                left: "left";
                center: "center";
                right: "right";
            }>>;
            hidden: z.ZodOptional<z.ZodBoolean>;
            sortable: z.ZodOptional<z.ZodBoolean>;
            resizable: z.ZodOptional<z.ZodBoolean>;
            wrap: z.ZodOptional<z.ZodBoolean>;
            type: z.ZodOptional<z.ZodString>;
            pinned: z.ZodOptional<z.ZodEnum<{
                left: "left";
                right: "right";
            }>>;
            summary: z.ZodOptional<z.ZodEnum<{
                none: "none";
                min: "min";
                max: "max";
                count: "count";
                sum: "sum";
                avg: "avg";
                count_empty: "count_empty";
                count_filled: "count_filled";
                count_unique: "count_unique";
                percent_empty: "percent_empty";
                percent_filled: "percent_filled";
            }>>;
            link: z.ZodOptional<z.ZodBoolean>;
            action: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>]>;
        filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            operator: z.ZodString;
            value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>>;
        }, z.core.$strip>>>;
        sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            order: z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>;
        }, z.core.$strip>>]>>;
        searchableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        filterableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        userFilters: z.ZodOptional<z.ZodObject<{
            element: z.ZodDefault<z.ZodEnum<{
                toggle: "toggle";
                dropdown: "dropdown";
                tabs: "tabs";
            }>>;
            fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                label: z.ZodOptional<z.ZodString>;
                type: z.ZodOptional<z.ZodEnum<{
                    boolean: "boolean";
                    text: "text";
                    select: "select";
                    "multi-select": "multi-select";
                    "date-range": "date-range";
                }>>;
                options: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
                    label: z.ZodString;
                    color: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>>>;
                showCount: z.ZodOptional<z.ZodBoolean>;
                defaultValues: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
            }, z.core.$strip>>>;
            tabs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                label: z.ZodOptional<z.ZodString>;
                icon: z.ZodOptional<z.ZodString>;
                view: z.ZodOptional<z.ZodString>;
                filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    field: z.ZodString;
                    operator: z.ZodString;
                    value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>>;
                }, z.core.$strip>>>;
                order: z.ZodOptional<z.ZodNumber>;
                pinned: z.ZodDefault<z.ZodBoolean>;
                isDefault: z.ZodDefault<z.ZodBoolean>;
                visible: z.ZodDefault<z.ZodBoolean>;
            }, z.core.$strip>>>;
            showAllRecords: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>;
        resizable: z.ZodOptional<z.ZodBoolean>;
        striped: z.ZodOptional<z.ZodBoolean>;
        bordered: z.ZodOptional<z.ZodBoolean>;
        compactToolbar: z.ZodOptional<z.ZodBoolean>;
        selection: z.ZodOptional<z.ZodObject<{
            type: z.ZodDefault<z.ZodEnum<{
                single: "single";
                multiple: "multiple";
                none: "none";
            }>>;
        }, z.core.$strip>>;
        navigation: z.ZodOptional<z.ZodObject<{
            mode: z.ZodDefault<z.ZodEnum<{
                split: "split";
                none: "none";
                page: "page";
                drawer: "drawer";
                modal: "modal";
                popover: "popover";
                new_window: "new_window";
            }>>;
            view: z.ZodOptional<z.ZodString>;
            preventNavigation: z.ZodDefault<z.ZodBoolean>;
            openNewTab: z.ZodDefault<z.ZodBoolean>;
            width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
        }, z.core.$strip>>;
        pagination: z.ZodOptional<z.ZodObject<{
            pageSize: z.ZodDefault<z.ZodNumber>;
            pageSizeOptions: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
        }, z.core.$strip>>;
        kanban: z.ZodOptional<z.ZodObject<{
            groupByField: z.ZodString;
            summarizeField: z.ZodOptional<z.ZodString>;
            columns: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
        calendar: z.ZodOptional<z.ZodObject<{
            startDateField: z.ZodString;
            endDateField: z.ZodOptional<z.ZodString>;
            titleField: z.ZodString;
            colorField: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        gantt: z.ZodOptional<z.ZodObject<{
            startDateField: z.ZodString;
            endDateField: z.ZodString;
            titleField: z.ZodString;
            progressField: z.ZodOptional<z.ZodString>;
            dependenciesField: z.ZodOptional<z.ZodString>;
            colorField: z.ZodOptional<z.ZodString>;
            parentField: z.ZodOptional<z.ZodString>;
            typeField: z.ZodOptional<z.ZodString>;
            baselineStartField: z.ZodOptional<z.ZodString>;
            baselineEndField: z.ZodOptional<z.ZodString>;
            groupByField: z.ZodOptional<z.ZodString>;
            resourceView: z.ZodOptional<z.ZodBoolean>;
            assigneeField: z.ZodOptional<z.ZodString>;
            effortField: z.ZodOptional<z.ZodString>;
            capacity: z.ZodOptional<z.ZodNumber>;
            tooltipFields: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
                field: z.ZodString;
                label: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>]>>>;
            quickFilters: z.ZodOptional<z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                label: z.ZodOptional<z.ZodString>;
                options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
                    value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
                    label: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>]>>>;
            }, z.core.$strip>>>;
            autoZoomToFilter: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$loose>>;
        gallery: z.ZodOptional<z.ZodObject<{
            coverField: z.ZodOptional<z.ZodString>;
            coverFit: z.ZodDefault<z.ZodEnum<{
                cover: "cover";
                contain: "contain";
            }>>;
            cardSize: z.ZodDefault<z.ZodEnum<{
                small: "small";
                medium: "medium";
                large: "large";
            }>>;
            titleField: z.ZodOptional<z.ZodString>;
            visibleFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
        timeline: z.ZodOptional<z.ZodObject<{
            startDateField: z.ZodString;
            endDateField: z.ZodOptional<z.ZodString>;
            titleField: z.ZodString;
            groupByField: z.ZodOptional<z.ZodString>;
            colorField: z.ZodOptional<z.ZodString>;
            scale: z.ZodDefault<z.ZodEnum<{
                hour: "hour";
                day: "day";
                week: "week";
                month: "month";
                quarter: "quarter";
                year: "year";
            }>>;
        }, z.core.$strip>>;
        chart: z.ZodOptional<z.ZodObject<{
            chartType: z.ZodDefault<z.ZodEnum<{
                bar: "bar";
                line: "line";
                pie: "pie";
                area: "area";
                scatter: "scatter";
            }>>;
            dataset: z.ZodString;
            dimensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
            values: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
        tree: z.ZodOptional<z.ZodObject<{
            parentField: z.ZodOptional<z.ZodString>;
            labelField: z.ZodOptional<z.ZodString>;
            fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
            defaultExpandedDepth: z.ZodOptional<z.ZodNumber>;
        }, z.core.$loose>>;
        description: z.ZodOptional<z.ZodString>;
        sharing: z.ZodOptional<z.ZodObject<{
            type: z.ZodDefault<z.ZodEnum<{
                personal: "personal";
                collaborative: "collaborative";
            }>>;
            lockedBy: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        rowHeight: z.ZodOptional<z.ZodEnum<{
            medium: "medium";
            short: "short";
            compact: "compact";
            tall: "tall";
            extra_tall: "extra_tall";
        }>>;
        grouping: z.ZodOptional<z.ZodObject<{
            fields: z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                order: z.ZodDefault<z.ZodEnum<{
                    asc: "asc";
                    desc: "desc";
                }>>;
                collapsed: z.ZodDefault<z.ZodBoolean>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        rowColor: z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            colors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        }, z.core.$strip>>;
        hiddenFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        fieldOrder: z.ZodOptional<z.ZodArray<z.ZodString>>;
        rowActions: z.ZodOptional<z.ZodArray<z.ZodString>>;
        bulkActions: z.ZodOptional<z.ZodArray<z.ZodString>>;
        bulkActionDefs: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
        virtualScroll: z.ZodOptional<z.ZodBoolean>;
        conditionalFormatting: z.ZodOptional<z.ZodArray<z.ZodObject<{
            condition: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            }, string>>, z.ZodObject<{
                dialect: z.ZodEnum<{
                    cel: "cel";
                    js: "js";
                    cron: "cron";
                    template: "template";
                }>;
                source: z.ZodOptional<z.ZodString>;
                ast: z.ZodOptional<z.ZodUnknown>;
                meta: z.ZodOptional<z.ZodObject<{
                    rationale: z.ZodOptional<z.ZodString>;
                    generatedBy: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>>;
            }, z.core.$strip>]>;
            style: z.ZodRecord<z.ZodString, z.ZodString>;
        }, z.core.$strip>>>;
        inlineEdit: z.ZodOptional<z.ZodBoolean>;
        exportOptions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            json: "json";
            csv: "csv";
            xlsx: "xlsx";
            pdf: "pdf";
        }>>>;
        userActions: z.ZodOptional<z.ZodObject<{
            sort: z.ZodDefault<z.ZodBoolean>;
            search: z.ZodDefault<z.ZodBoolean>;
            filter: z.ZodDefault<z.ZodBoolean>;
            rowHeight: z.ZodDefault<z.ZodBoolean>;
            addRecordForm: z.ZodDefault<z.ZodBoolean>;
            editInline: z.ZodDefault<z.ZodBoolean>;
            buttons: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
        appearance: z.ZodOptional<z.ZodObject<{
            showDescription: z.ZodDefault<z.ZodBoolean>;
            allowedVisualizations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
                map: "map";
                tree: "tree";
                grid: "grid";
                kanban: "kanban";
                gallery: "gallery";
                calendar: "calendar";
                timeline: "timeline";
                gantt: "gantt";
                chart: "chart";
            }>>>;
        }, z.core.$strip>>;
        tabs: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            view: z.ZodOptional<z.ZodString>;
            filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                operator: z.ZodString;
                value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>]>>;
            }, z.core.$strip>>>;
            order: z.ZodOptional<z.ZodNumber>;
            pinned: z.ZodDefault<z.ZodBoolean>;
            isDefault: z.ZodDefault<z.ZodBoolean>;
            visible: z.ZodDefault<z.ZodBoolean>;
        }, z.core.$strip>>>;
        addRecord: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodDefault<z.ZodBoolean>;
            position: z.ZodDefault<z.ZodEnum<{
                top: "top";
                bottom: "bottom";
                both: "both";
            }>>;
            mode: z.ZodDefault<z.ZodEnum<{
                form: "form";
                modal: "modal";
                inline: "inline";
            }>>;
            formView: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        showRecordCount: z.ZodOptional<z.ZodBoolean>;
        allowPrinting: z.ZodOptional<z.ZodBoolean>;
        emptyState: z.ZodOptional<z.ZodObject<{
            title: z.ZodOptional<z.ZodString>;
            message: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        aria: z.ZodOptional<z.ZodObject<{
            ariaLabel: z.ZodOptional<z.ZodString>;
            ariaDescribedBy: z.ZodOptional<z.ZodString>;
            role: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        responsive: z.ZodOptional<z.ZodObject<{
            breakpoint: z.ZodOptional<z.ZodEnum<{
                md: "md";
                xs: "xs";
                sm: "sm";
                lg: "lg";
                xl: "xl";
                "2xl": "2xl";
            }>>;
            hiddenOn: z.ZodOptional<z.ZodArray<z.ZodEnum<{
                md: "md";
                xs: "xs";
                sm: "sm";
                lg: "lg";
                xl: "xl";
                "2xl": "2xl";
            }>>>;
            columns: z.ZodOptional<z.ZodObject<{
                xs: z.ZodOptional<z.ZodNumber>;
                sm: z.ZodOptional<z.ZodNumber>;
                md: z.ZodOptional<z.ZodNumber>;
                lg: z.ZodOptional<z.ZodNumber>;
                xl: z.ZodOptional<z.ZodNumber>;
                '2xl': z.ZodOptional<z.ZodNumber>;
            }, z.core.$strip>>;
            order: z.ZodOptional<z.ZodObject<{
                xs: z.ZodOptional<z.ZodNumber>;
                sm: z.ZodOptional<z.ZodNumber>;
                md: z.ZodOptional<z.ZodNumber>;
                lg: z.ZodOptional<z.ZodNumber>;
                xl: z.ZodOptional<z.ZodNumber>;
                '2xl': z.ZodOptional<z.ZodNumber>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        performance: z.ZodOptional<z.ZodObject<{
            lazyLoad: z.ZodOptional<z.ZodBoolean>;
            virtualScroll: z.ZodOptional<z.ZodObject<{
                enabled: z.ZodDefault<z.ZodBoolean>;
                itemHeight: z.ZodOptional<z.ZodNumber>;
                overscan: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strip>>;
            cacheStrategy: z.ZodOptional<z.ZodEnum<{
                none: "none";
                "cache-first": "cache-first";
                "network-first": "network-first";
                "stale-while-revalidate": "stale-while-revalidate";
            }>>;
            prefetch: z.ZodOptional<z.ZodBoolean>;
            pageSize: z.ZodOptional<z.ZodNumber>;
            debounceMs: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>;
    }, z.core.$strip>>>;
    searchableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
    search: z.ZodOptional<z.ZodObject<{
        fields: z.ZodArray<z.ZodString>;
        displayFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        filters: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    enable: z.ZodOptional<z.ZodObject<{
        trackHistory: z.ZodDefault<z.ZodBoolean>;
        searchable: z.ZodDefault<z.ZodBoolean>;
        apiEnabled: z.ZodDefault<z.ZodBoolean>;
        apiMethods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            search: "search";
            get: "get";
            delete: "delete";
            update: "update";
            upsert: "upsert";
            create: "create";
            list: "list";
            bulk: "bulk";
            aggregate: "aggregate";
            history: "history";
            restore: "restore";
            purge: "purge";
            import: "import";
            export: "export";
        }>>>;
        files: z.ZodDefault<z.ZodBoolean>;
        feeds: z.ZodDefault<z.ZodBoolean>;
        activities: z.ZodDefault<z.ZodBoolean>;
        trash: z.ZodDefault<z.ZodBoolean>;
        mru: z.ZodDefault<z.ZodBoolean>;
        clone: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    sharingModel: z.ZodOptional<z.ZodEnum<{
        full: "full";
        read: "read";
        private: "private";
        public_read: "public_read";
        public_read_write: "public_read_write";
        controlled_by_parent: "controlled_by_parent";
        read_write: "read_write";
    }>>;
    publicSharing: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodDefault<z.ZodBoolean>;
        allowedAudiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            email: "email";
            public: "public";
            link_only: "link_only";
            signed_in: "signed_in";
        }>>>;
        allowedPermissions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            view: "view";
            edit: "edit";
            comment: "comment";
        }>>>;
        maxExpiryDays: z.ZodOptional<z.ZodNumber>;
        redactFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
        eligibility: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    keyPrefix: z.ZodOptional<z.ZodString>;
    actions: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodObject<{
        name: z.ZodString;
        label: z.ZodString;
        objectName: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        locations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            list_toolbar: "list_toolbar";
            list_item: "list_item";
            record_header: "record_header";
            record_more: "record_more";
            record_related: "record_related";
            record_section: "record_section";
            global_nav: "global_nav";
        }>>>;
        component: z.ZodOptional<z.ZodEnum<{
            "action:button": "action:button";
            "action:icon": "action:icon";
            "action:menu": "action:menu";
            "action:group": "action:group";
        }>>;
        type: z.ZodDefault<z.ZodEnum<{
            url: "url";
            form: "form";
            flow: "flow";
            api: "api";
            script: "script";
            modal: "modal";
        }>>;
        target: z.ZodOptional<z.ZodString>;
        openIn: z.ZodOptional<z.ZodEnum<{
            self: "self";
            "new-tab": "new-tab";
        }>>;
        body: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
            language: z.ZodLiteral<"expression">;
            source: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            language: z.ZodLiteral<"js">;
            source: z.ZodString;
            capabilities: z.ZodDefault<z.ZodArray<z.ZodEnum<{
                "api.read": "api.read";
                "api.write": "api.write";
                "api.transaction": "api.transaction";
                "crypto.uuid": "crypto.uuid";
                "crypto.hash": "crypto.hash";
                log: "log";
            }>>>;
            timeoutMs: z.ZodOptional<z.ZodNumber>;
            memoryMb: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>], "language">>;
        execute: z.ZodOptional<z.ZodString>;
        params: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            field: z.ZodOptional<z.ZodString>;
            objectOverride: z.ZodOptional<z.ZodString>;
            label: z.ZodOptional<z.ZodString>;
            type: z.ZodOptional<z.ZodEnum<{
                number: "number";
                boolean: "boolean";
                date: "date";
                record: "record";
                file: "file";
                code: "code";
                datetime: "datetime";
                signature: "signature";
                progress: "progress";
                url: "url";
                lookup: "lookup";
                master_detail: "master_detail";
                currency: "currency";
                percent: "percent";
                password: "password";
                secret: "secret";
                email: "email";
                time: "time";
                user: "user";
                text: "text";
                textarea: "textarea";
                phone: "phone";
                markdown: "markdown";
                html: "html";
                richtext: "richtext";
                toggle: "toggle";
                select: "select";
                multiselect: "multiselect";
                radio: "radio";
                checkboxes: "checkboxes";
                tree: "tree";
                image: "image";
                avatar: "avatar";
                video: "video";
                audio: "audio";
                formula: "formula";
                summary: "summary";
                autonumber: "autonumber";
                composite: "composite";
                repeater: "repeater";
                location: "location";
                address: "address";
                json: "json";
                color: "color";
                rating: "rating";
                slider: "slider";
                qrcode: "qrcode";
                tags: "tags";
                vector: "vector";
            }>>;
            required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
            options: z.ZodOptional<z.ZodArray<z.ZodObject<{
                label: z.ZodString;
                value: z.ZodString;
            }, z.core.$strip>>>;
            placeholder: z.ZodOptional<z.ZodString>;
            helpText: z.ZodOptional<z.ZodString>;
            defaultValue: z.ZodOptional<z.ZodUnknown>;
            defaultFromRow: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>>;
        variant: z.ZodOptional<z.ZodEnum<{
            link: "link";
            primary: "primary";
            secondary: "secondary";
            danger: "danger";
            ghost: "ghost";
        }>>;
        confirmText: z.ZodOptional<z.ZodString>;
        successMessage: z.ZodOptional<z.ZodString>;
        errorMessage: z.ZodOptional<z.ZodString>;
        refreshAfter: z.ZodDefault<z.ZodBoolean>;
        undoable: z.ZodOptional<z.ZodBoolean>;
        resultDialog: z.ZodOptional<z.ZodObject<{
            title: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            acknowledge: z.ZodOptional<z.ZodString>;
            format: z.ZodOptional<z.ZodEnum<{
                secret: "secret";
                text: "text";
                json: "json";
                qrcode: "qrcode";
                "code-list": "code-list";
            }>>;
            fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
                path: z.ZodString;
                label: z.ZodOptional<z.ZodString>;
                format: z.ZodOptional<z.ZodEnum<{
                    secret: "secret";
                    text: "text";
                    json: "json";
                    qrcode: "qrcode";
                    "code-list": "code-list";
                }>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
        visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        disabled: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>]>>;
        requiredPermissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
        shortcut: z.ZodOptional<z.ZodString>;
        bulkEnabled: z.ZodOptional<z.ZodBoolean>;
        ai: z.ZodOptional<z.ZodObject<{
            exposed: z.ZodDefault<z.ZodBoolean>;
            description: z.ZodOptional<z.ZodString>;
            category: z.ZodOptional<z.ZodEnum<{
                action: "action";
                data: "data";
                flow: "flow";
                integration: "integration";
                vector_search: "vector_search";
                analytics: "analytics";
                utility: "utility";
            }>>;
            paramHints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                description: z.ZodOptional<z.ZodString>;
                enum: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
                examples: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
            }, z.core.$strip>>>;
            outputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            requiresConfirmation: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>;
        recordIdParam: z.ZodOptional<z.ZodString>;
        recordIdField: z.ZodOptional<z.ZodString>;
        bodyShape: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"flat">, z.ZodObject<{
            wrap: z.ZodString;
        }, z.core.$strip>]>>;
        method: z.ZodOptional<z.ZodEnum<{
            POST: "POST";
            PATCH: "PATCH";
            PUT: "PUT";
            DELETE: "DELETE";
        }>>;
        bodyExtra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        mode: z.ZodOptional<z.ZodEnum<{
            custom: "custom";
            delete: "delete";
            edit: "edit";
            create: "create";
        }>>;
        opensInNewTab: z.ZodOptional<z.ZodBoolean>;
        newTabUrl: z.ZodOptional<z.ZodString>;
        timeout: z.ZodOptional<z.ZodNumber>;
        aria: z.ZodOptional<z.ZodObject<{
            ariaLabel: z.ZodOptional<z.ZodString>;
            ariaDescribedBy: z.ZodOptional<z.ZodString>;
            role: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodTransform<{
        name: string;
        label: string;
        type: "url" | "form" | "flow" | "api" | "script" | "modal";
        refreshAfter: boolean;
        objectName?: string | undefined;
        icon?: string | undefined;
        locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "record_section" | "global_nav")[] | undefined;
        component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
        target?: string | undefined;
        openIn?: "self" | "new-tab" | undefined;
        body?: {
            language: "expression";
            source: string;
        } | {
            language: "js";
            source: string;
            capabilities: ("api.read" | "api.write" | "api.transaction" | "crypto.uuid" | "crypto.hash" | "log")[];
            timeoutMs?: number | undefined;
            memoryMb?: number | undefined;
        } | undefined;
        execute?: string | undefined;
        params?: {
            required: boolean;
            name?: string | undefined;
            field?: string | undefined;
            objectOverride?: string | undefined;
            label?: string | undefined;
            type?: "number" | "boolean" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "lookup" | "master_detail" | "currency" | "percent" | "password" | "secret" | "email" | "time" | "user" | "text" | "textarea" | "phone" | "markdown" | "html" | "richtext" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
            options?: {
                label: string;
                value: string;
            }[] | undefined;
            placeholder?: string | undefined;
            helpText?: string | undefined;
            defaultValue?: unknown;
            defaultFromRow?: boolean | undefined;
        }[] | undefined;
        variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
        confirmText?: string | undefined;
        successMessage?: string | undefined;
        errorMessage?: string | undefined;
        undoable?: boolean | undefined;
        resultDialog?: {
            title?: string | undefined;
            description?: string | undefined;
            acknowledge?: string | undefined;
            format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
            fields?: {
                path: string;
                label?: string | undefined;
                format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
            }[] | undefined;
        } | undefined;
        visible?: {
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        } | undefined;
        disabled?: boolean | {
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        } | undefined;
        requiredPermissions?: string[] | undefined;
        shortcut?: string | undefined;
        bulkEnabled?: boolean | undefined;
        ai?: {
            exposed: boolean;
            description?: string | undefined;
            category?: "action" | "data" | "flow" | "integration" | "vector_search" | "analytics" | "utility" | undefined;
            paramHints?: Record<string, {
                description?: string | undefined;
                enum?: (string | number)[] | undefined;
                examples?: unknown[] | undefined;
            }> | undefined;
            outputSchema?: Record<string, unknown> | undefined;
            requiresConfirmation?: boolean | undefined;
        } | undefined;
        recordIdParam?: string | undefined;
        recordIdField?: string | undefined;
        bodyShape?: "flat" | {
            wrap: string;
        } | undefined;
        method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
        bodyExtra?: Record<string, unknown> | undefined;
        mode?: "custom" | "delete" | "edit" | "create" | undefined;
        opensInNewTab?: boolean | undefined;
        newTabUrl?: string | undefined;
        timeout?: number | undefined;
        aria?: {
            ariaLabel?: string | undefined;
            ariaDescribedBy?: string | undefined;
            role?: string | undefined;
        } | undefined;
    }, {
        name: string;
        label: string;
        type: "url" | "form" | "flow" | "api" | "script" | "modal";
        refreshAfter: boolean;
        objectName?: string | undefined;
        icon?: string | undefined;
        locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "record_section" | "global_nav")[] | undefined;
        component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
        target?: string | undefined;
        openIn?: "self" | "new-tab" | undefined;
        body?: {
            language: "expression";
            source: string;
        } | {
            language: "js";
            source: string;
            capabilities: ("api.read" | "api.write" | "api.transaction" | "crypto.uuid" | "crypto.hash" | "log")[];
            timeoutMs?: number | undefined;
            memoryMb?: number | undefined;
        } | undefined;
        execute?: string | undefined;
        params?: {
            required: boolean;
            name?: string | undefined;
            field?: string | undefined;
            objectOverride?: string | undefined;
            label?: string | undefined;
            type?: "number" | "boolean" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "lookup" | "master_detail" | "currency" | "percent" | "password" | "secret" | "email" | "time" | "user" | "text" | "textarea" | "phone" | "markdown" | "html" | "richtext" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
            options?: {
                label: string;
                value: string;
            }[] | undefined;
            placeholder?: string | undefined;
            helpText?: string | undefined;
            defaultValue?: unknown;
            defaultFromRow?: boolean | undefined;
        }[] | undefined;
        variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
        confirmText?: string | undefined;
        successMessage?: string | undefined;
        errorMessage?: string | undefined;
        undoable?: boolean | undefined;
        resultDialog?: {
            title?: string | undefined;
            description?: string | undefined;
            acknowledge?: string | undefined;
            format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
            fields?: {
                path: string;
                label?: string | undefined;
                format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
            }[] | undefined;
        } | undefined;
        visible?: {
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        } | undefined;
        disabled?: boolean | {
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        } | undefined;
        requiredPermissions?: string[] | undefined;
        shortcut?: string | undefined;
        bulkEnabled?: boolean | undefined;
        ai?: {
            exposed: boolean;
            description?: string | undefined;
            category?: "action" | "data" | "flow" | "integration" | "vector_search" | "analytics" | "utility" | undefined;
            paramHints?: Record<string, {
                description?: string | undefined;
                enum?: (string | number)[] | undefined;
                examples?: unknown[] | undefined;
            }> | undefined;
            outputSchema?: Record<string, unknown> | undefined;
            requiresConfirmation?: boolean | undefined;
        } | undefined;
        recordIdParam?: string | undefined;
        recordIdField?: string | undefined;
        bodyShape?: "flat" | {
            wrap: string;
        } | undefined;
        method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
        bodyExtra?: Record<string, unknown> | undefined;
        mode?: "custom" | "delete" | "edit" | "create" | undefined;
        opensInNewTab?: boolean | undefined;
        newTabUrl?: string | undefined;
        timeout?: number | undefined;
        aria?: {
            ariaLabel?: string | undefined;
            ariaDescribedBy?: string | undefined;
            role?: string | undefined;
        } | undefined;
    }>>>>;
    protection: z.ZodOptional<z.ZodObject<{
        lock: z.ZodEnum<{
            full: "full";
            none: "none";
            "no-overlay": "no-overlay";
            "no-delete": "no-delete";
        }>;
        reason: z.ZodString;
        docsUrl: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>>;
}, z.core.$strip> & {
    /**
     * [ADR-0079] Parse with deprecated-`displayNameField`→`nameField` alias
     * normalization applied first. Wraps the captured original ZodObject parse,
     * so `.shape` / `.create()`'s internal `ObjectSchemaBase.parse` keep working.
     */
    parse(data: unknown, params?: Parameters<typeof ObjectSchemaBase.parse>[1]): {
        name: string;
        active: boolean;
        isSystem: boolean;
        abstract: boolean;
        datasource: string;
        fields: Record<string, {
            type: "number" | "boolean" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "lookup" | "master_detail" | "currency" | "percent" | "password" | "secret" | "email" | "time" | "user" | "text" | "textarea" | "phone" | "markdown" | "html" | "richtext" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector";
            required: boolean;
            searchable: boolean;
            multiple: boolean;
            unique: boolean;
            deleteBehavior: "set_null" | "cascade" | "restrict";
            hidden: boolean;
            readonly: boolean;
            sortable: boolean;
            index: boolean;
            externalId: boolean;
            name?: string | undefined;
            label?: string | undefined;
            description?: string | undefined;
            format?: string | undefined;
            columnName?: string | undefined;
            defaultValue?: unknown;
            maxLength?: number | undefined;
            minLength?: number | undefined;
            precision?: number | undefined;
            scale?: number | undefined;
            min?: number | undefined;
            max?: number | undefined;
            options?: {
                label: string;
                value: string;
                color?: string | undefined;
                default?: boolean | undefined;
            }[] | undefined;
            reference?: string | undefined;
            referenceFilters?: string[] | undefined;
            inlineEdit?: boolean | "grid" | "form" | undefined;
            inlineTitle?: string | undefined;
            inlineColumns?: any[] | undefined;
            inlineAmountField?: string | undefined;
            relatedList?: boolean | undefined;
            relatedListTitle?: string | undefined;
            relatedListColumns?: any[] | undefined;
            displayField?: string | undefined;
            descriptionField?: string | undefined;
            lookupColumns?: (string | {
                field: string;
                label?: string | undefined;
                width?: string | undefined;
                type?: string | undefined;
            })[] | undefined;
            lookupPageSize?: number | undefined;
            lookupFilters?: {
                field: string;
                operator: "in" | "eq" | "ne" | "gt" | "lt" | "gte" | "lte" | "contains" | "notIn";
                value: any;
            }[] | undefined;
            dependsOn?: (string | {
                field: string;
                param?: string | undefined;
            })[] | undefined;
            allowCreate?: boolean | undefined;
            expression?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            returnType?: "number" | "boolean" | "date" | "text" | undefined;
            summaryOperations?: {
                object: string;
                field: string;
                function: "min" | "max" | "count" | "sum" | "avg";
                relationshipField?: string | undefined;
            } | undefined;
            language?: string | undefined;
            step?: number | undefined;
            currencyConfig?: {
                precision: number;
                currencyMode: "fixed" | "dynamic";
                defaultCurrency: string;
            } | undefined;
            dimensions?: number | undefined;
            vectorConfig?: {
                dimensions: number;
                distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
                normalized: boolean;
                indexed: boolean;
                indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
            } | undefined;
            fileAttachmentConfig?: {
                virusScan: boolean;
                virusScanOnUpload: boolean;
                quarantineOnThreat: boolean;
                allowMultiple: boolean;
                allowReplace: boolean;
                allowDelete: boolean;
                requireUpload: boolean;
                extractMetadata: boolean;
                extractText: boolean;
                versioningEnabled: boolean;
                publicRead: boolean;
                presignedUrlExpiry: number;
                minSize?: number | undefined;
                maxSize?: number | undefined;
                allowedTypes?: string[] | undefined;
                blockedTypes?: string[] | undefined;
                allowedMimeTypes?: string[] | undefined;
                blockedMimeTypes?: string[] | undefined;
                virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
                storageProvider?: string | undefined;
                storageBucket?: string | undefined;
                storagePrefix?: string | undefined;
                imageValidation?: {
                    generateThumbnails: boolean;
                    preserveMetadata: boolean;
                    autoRotate: boolean;
                    minWidth?: number | undefined;
                    maxWidth?: number | undefined;
                    minHeight?: number | undefined;
                    maxHeight?: number | undefined;
                    aspectRatio?: string | undefined;
                    thumbnailSizes?: {
                        name: string;
                        width: number;
                        height: number;
                        crop: boolean;
                    }[] | undefined;
                } | undefined;
                maxVersions?: number | undefined;
            } | undefined;
            trackHistory?: boolean | undefined;
            dependencies?: string[] | undefined;
            group?: string | undefined;
            visibleWhen?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            readonlyWhen?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            requiredWhen?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            conditionalRequired?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            requiredPermissions?: string[] | undefined;
            system?: boolean | undefined;
            inlineHelpText?: string | undefined;
            autonumberFormat?: string | undefined;
        }>;
        _lock?: "full" | "none" | "no-overlay" | "no-delete" | undefined;
        _lockReason?: string | undefined;
        _lockSource?: "artifact" | "package" | "env-forced" | undefined;
        _provenance?: "package" | "env-forced" | "org" | undefined;
        _packageId?: string | undefined;
        _packageVersion?: string | undefined;
        _lockDocsUrl?: string | undefined;
        label?: string | undefined;
        pluralLabel?: string | undefined;
        description?: string | undefined;
        icon?: string | undefined;
        tags?: string[] | undefined;
        managedBy?: "platform" | "system" | "config" | "append-only" | "better-auth" | undefined;
        userActions?: {
            create?: boolean | undefined;
            import?: boolean | undefined;
            edit?: boolean | undefined;
            delete?: boolean | undefined;
            exportCsv?: boolean | undefined;
        } | undefined;
        systemFields?: false | {
            tenant?: boolean | undefined;
            owner?: boolean | undefined;
            audit?: boolean | undefined;
        } | undefined;
        external?: {
            writable: boolean;
            remoteName?: string | undefined;
            remoteSchema?: string | undefined;
            columnMap?: Record<string, string> | undefined;
            introspectedAt?: string | undefined;
            ignoreColumns?: string[] | undefined;
        } | undefined;
        indexes?: {
            fields: string[];
            type: "hash" | "btree" | "gin" | "gist" | "fulltext";
            unique: boolean;
            name?: string | undefined;
            partial?: string | undefined;
        }[] | undefined;
        fieldGroups?: {
            key: string;
            label: string;
            collapse: "none" | "expanded" | "collapsed";
            icon?: string | undefined;
            description?: string | undefined;
            defaultExpanded?: boolean | undefined;
            collapsible?: boolean | undefined;
            collapsed?: boolean | undefined;
        }[] | undefined;
        tenancy?: {
            enabled: boolean;
            strategy: "hybrid" | "shared" | "isolated";
            tenantField: string;
            crossTenantAccess: boolean;
        } | undefined;
        access?: {
            default: "public" | "private";
        } | undefined;
        requiredPermissions?: string[] | undefined;
        softDelete?: {
            enabled: boolean;
            field: string;
            cascadeDelete: boolean;
        } | undefined;
        versioning?: {
            enabled: boolean;
            strategy: "snapshot" | "delta" | "event-sourcing";
            versionField: string;
            retentionDays?: number | undefined;
        } | undefined;
        validations?: BaseValidationRuleShape[] | undefined;
        activityMilestones?: {
            field: string;
            value: string;
            summary: string;
            type?: string | undefined;
        }[] | undefined;
        nameField?: string | undefined;
        displayNameField?: string | undefined;
        recordName?: {
            type: "text" | "autonumber";
            displayFormat?: string | undefined;
            startNumber?: number | undefined;
        } | undefined;
        titleFormat?: {
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        } | undefined;
        highlightFields?: string[] | undefined;
        compactLayout?: string[] | undefined;
        stageField?: string | false | undefined;
        listViews?: Record<string, {
            type: "map" | "tree" | "grid" | "kanban" | "gallery" | "calendar" | "timeline" | "gantt" | "chart";
            columns: string[] | {
                field: string;
                label?: string | undefined;
                width?: number | undefined;
                align?: "left" | "center" | "right" | undefined;
                hidden?: boolean | undefined;
                sortable?: boolean | undefined;
                resizable?: boolean | undefined;
                wrap?: boolean | undefined;
                type?: string | undefined;
                pinned?: "left" | "right" | undefined;
                summary?: "none" | "min" | "max" | "count" | "sum" | "avg" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
                link?: boolean | undefined;
                action?: string | undefined;
            }[];
            name?: string | undefined;
            label?: string | undefined;
            data?: {
                provider: "object";
                object: string;
            } | {
                provider: "api";
                read?: {
                    url: string;
                    method: "POST" | "PATCH" | "PUT" | "DELETE" | "GET";
                    headers?: Record<string, string> | undefined;
                    params?: Record<string, unknown> | undefined;
                    body?: unknown;
                } | undefined;
                write?: {
                    url: string;
                    method: "POST" | "PATCH" | "PUT" | "DELETE" | "GET";
                    headers?: Record<string, string> | undefined;
                    params?: Record<string, unknown> | undefined;
                    body?: unknown;
                } | undefined;
            } | {
                provider: "value";
                items: unknown[];
            } | {
                provider: "schema";
                schemaId: string;
                schema?: Record<string, unknown> | undefined;
            } | undefined;
            filter?: {
                field: string;
                operator: string;
                value?: string | number | boolean | (string | number)[] | null | undefined;
            }[] | undefined;
            sort?: string | {
                field: string;
                order: "asc" | "desc";
            }[] | undefined;
            searchableFields?: string[] | undefined;
            filterableFields?: string[] | undefined;
            userFilters?: {
                element: "toggle" | "dropdown" | "tabs";
                fields?: {
                    field: string;
                    label?: string | undefined;
                    type?: "boolean" | "text" | "select" | "multi-select" | "date-range" | undefined;
                    options?: {
                        value: string | number | boolean;
                        label: string;
                        color?: string | undefined;
                    }[] | undefined;
                    showCount?: boolean | undefined;
                    defaultValues?: (string | number | boolean)[] | undefined;
                }[] | undefined;
                tabs?: {
                    name: string;
                    pinned: boolean;
                    isDefault: boolean;
                    visible: boolean;
                    label?: string | undefined;
                    icon?: string | undefined;
                    view?: string | undefined;
                    filter?: {
                        field: string;
                        operator: string;
                        value?: string | number | boolean | (string | number)[] | null | undefined;
                    }[] | undefined;
                    order?: number | undefined;
                }[] | undefined;
                showAllRecords?: boolean | undefined;
            } | undefined;
            resizable?: boolean | undefined;
            striped?: boolean | undefined;
            bordered?: boolean | undefined;
            compactToolbar?: boolean | undefined;
            selection?: {
                type: "single" | "multiple" | "none";
            } | undefined;
            navigation?: {
                mode: "split" | "none" | "page" | "drawer" | "modal" | "popover" | "new_window";
                preventNavigation: boolean;
                openNewTab: boolean;
                view?: string | undefined;
                width?: string | number | undefined;
            } | undefined;
            pagination?: {
                pageSize: number;
                pageSizeOptions?: number[] | undefined;
            } | undefined;
            kanban?: {
                groupByField: string;
                columns: string[];
                summarizeField?: string | undefined;
            } | undefined;
            calendar?: {
                startDateField: string;
                titleField: string;
                endDateField?: string | undefined;
                colorField?: string | undefined;
            } | undefined;
            gantt?: {
                [x: string]: unknown;
                startDateField: string;
                endDateField: string;
                titleField: string;
                progressField?: string | undefined;
                dependenciesField?: string | undefined;
                colorField?: string | undefined;
                parentField?: string | undefined;
                typeField?: string | undefined;
                baselineStartField?: string | undefined;
                baselineEndField?: string | undefined;
                groupByField?: string | undefined;
                resourceView?: boolean | undefined;
                assigneeField?: string | undefined;
                effortField?: string | undefined;
                capacity?: number | undefined;
                tooltipFields?: (string | {
                    field: string;
                    label?: string | undefined;
                })[] | undefined;
                quickFilters?: {
                    field: string;
                    label?: string | undefined;
                    options?: (string | {
                        value: string | number;
                        label?: string | undefined;
                    })[] | undefined;
                }[] | undefined;
                autoZoomToFilter?: boolean | undefined;
            } | undefined;
            gallery?: {
                coverFit: "cover" | "contain";
                cardSize: "small" | "medium" | "large";
                coverField?: string | undefined;
                titleField?: string | undefined;
                visibleFields?: string[] | undefined;
            } | undefined;
            timeline?: {
                startDateField: string;
                titleField: string;
                scale: "hour" | "day" | "week" | "month" | "quarter" | "year";
                endDateField?: string | undefined;
                groupByField?: string | undefined;
                colorField?: string | undefined;
            } | undefined;
            chart?: {
                chartType: "bar" | "line" | "pie" | "area" | "scatter";
                dataset: string;
                values: string[];
                dimensions?: string[] | undefined;
            } | undefined;
            tree?: {
                [x: string]: unknown;
                parentField?: string | undefined;
                labelField?: string | undefined;
                fields?: string[] | undefined;
                defaultExpandedDepth?: number | undefined;
            } | undefined;
            description?: string | undefined;
            sharing?: {
                type: "personal" | "collaborative";
                lockedBy?: string | undefined;
            } | undefined;
            rowHeight?: "medium" | "short" | "compact" | "tall" | "extra_tall" | undefined;
            grouping?: {
                fields: {
                    field: string;
                    order: "asc" | "desc";
                    collapsed: boolean;
                }[];
            } | undefined;
            rowColor?: {
                field: string;
                colors?: Record<string, string> | undefined;
            } | undefined;
            hiddenFields?: string[] | undefined;
            fieldOrder?: string[] | undefined;
            rowActions?: string[] | undefined;
            bulkActions?: string[] | undefined;
            bulkActionDefs?: Record<string, any>[] | undefined;
            virtualScroll?: boolean | undefined;
            conditionalFormatting?: {
                condition: {
                    dialect: "cel" | "js" | "cron" | "template";
                    source?: string | undefined;
                    ast?: unknown;
                    meta?: {
                        rationale?: string | undefined;
                        generatedBy?: string | undefined;
                    } | undefined;
                };
                style: Record<string, string>;
            }[] | undefined;
            inlineEdit?: boolean | undefined;
            exportOptions?: ("json" | "csv" | "xlsx" | "pdf")[] | undefined;
            userActions?: {
                sort: boolean;
                search: boolean;
                filter: boolean;
                rowHeight: boolean;
                addRecordForm: boolean;
                editInline: boolean;
                buttons?: string[] | undefined;
            } | undefined;
            appearance?: {
                showDescription: boolean;
                allowedVisualizations?: ("map" | "tree" | "grid" | "kanban" | "gallery" | "calendar" | "timeline" | "gantt" | "chart")[] | undefined;
            } | undefined;
            tabs?: {
                name: string;
                pinned: boolean;
                isDefault: boolean;
                visible: boolean;
                label?: string | undefined;
                icon?: string | undefined;
                view?: string | undefined;
                filter?: {
                    field: string;
                    operator: string;
                    value?: string | number | boolean | (string | number)[] | null | undefined;
                }[] | undefined;
                order?: number | undefined;
            }[] | undefined;
            addRecord?: {
                enabled: boolean;
                position: "top" | "bottom" | "both";
                mode: "form" | "modal" | "inline";
                formView?: string | undefined;
            } | undefined;
            showRecordCount?: boolean | undefined;
            allowPrinting?: boolean | undefined;
            emptyState?: {
                title?: string | undefined;
                message?: string | undefined;
                icon?: string | undefined;
            } | undefined;
            aria?: {
                ariaLabel?: string | undefined;
                ariaDescribedBy?: string | undefined;
                role?: string | undefined;
            } | undefined;
            responsive?: {
                breakpoint?: "md" | "xs" | "sm" | "lg" | "xl" | "2xl" | undefined;
                hiddenOn?: ("md" | "xs" | "sm" | "lg" | "xl" | "2xl")[] | undefined;
                columns?: {
                    xs?: number | undefined;
                    sm?: number | undefined;
                    md?: number | undefined;
                    lg?: number | undefined;
                    xl?: number | undefined;
                    '2xl'?: number | undefined;
                } | undefined;
                order?: {
                    xs?: number | undefined;
                    sm?: number | undefined;
                    md?: number | undefined;
                    lg?: number | undefined;
                    xl?: number | undefined;
                    '2xl'?: number | undefined;
                } | undefined;
            } | undefined;
            performance?: {
                lazyLoad?: boolean | undefined;
                virtualScroll?: {
                    enabled: boolean;
                    itemHeight?: number | undefined;
                    overscan?: number | undefined;
                } | undefined;
                cacheStrategy?: "none" | "cache-first" | "network-first" | "stale-while-revalidate" | undefined;
                prefetch?: boolean | undefined;
                pageSize?: number | undefined;
                debounceMs?: number | undefined;
            } | undefined;
        }> | undefined;
        searchableFields?: string[] | undefined;
        search?: {
            fields: string[];
            displayFields?: string[] | undefined;
            filters?: string[] | undefined;
        } | undefined;
        enable?: {
            trackHistory: boolean;
            searchable: boolean;
            apiEnabled: boolean;
            files: boolean;
            feeds: boolean;
            activities: boolean;
            trash: boolean;
            mru: boolean;
            clone: boolean;
            apiMethods?: ("search" | "get" | "delete" | "update" | "upsert" | "create" | "list" | "bulk" | "aggregate" | "history" | "restore" | "purge" | "import" | "export")[] | undefined;
        } | undefined;
        sharingModel?: "full" | "read" | "private" | "public_read" | "public_read_write" | "controlled_by_parent" | "read_write" | undefined;
        publicSharing?: {
            enabled: boolean;
            allowedAudiences?: ("email" | "public" | "link_only" | "signed_in")[] | undefined;
            allowedPermissions?: ("view" | "edit" | "comment")[] | undefined;
            maxExpiryDays?: number | undefined;
            redactFields?: string[] | undefined;
            eligibility?: string | undefined;
        } | undefined;
        keyPrefix?: string | undefined;
        actions?: {
            name: string;
            label: string;
            type: "url" | "form" | "flow" | "api" | "script" | "modal";
            refreshAfter: boolean;
            objectName?: string | undefined;
            icon?: string | undefined;
            locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "record_section" | "global_nav")[] | undefined;
            component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
            target?: string | undefined;
            openIn?: "self" | "new-tab" | undefined;
            body?: {
                language: "expression";
                source: string;
            } | {
                language: "js";
                source: string;
                capabilities: ("api.read" | "api.write" | "api.transaction" | "crypto.uuid" | "crypto.hash" | "log")[];
                timeoutMs?: number | undefined;
                memoryMb?: number | undefined;
            } | undefined;
            execute?: string | undefined;
            params?: {
                required: boolean;
                name?: string | undefined;
                field?: string | undefined;
                objectOverride?: string | undefined;
                label?: string | undefined;
                type?: "number" | "boolean" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "lookup" | "master_detail" | "currency" | "percent" | "password" | "secret" | "email" | "time" | "user" | "text" | "textarea" | "phone" | "markdown" | "html" | "richtext" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
                options?: {
                    label: string;
                    value: string;
                }[] | undefined;
                placeholder?: string | undefined;
                helpText?: string | undefined;
                defaultValue?: unknown;
                defaultFromRow?: boolean | undefined;
            }[] | undefined;
            variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
            confirmText?: string | undefined;
            successMessage?: string | undefined;
            errorMessage?: string | undefined;
            undoable?: boolean | undefined;
            resultDialog?: {
                title?: string | undefined;
                description?: string | undefined;
                acknowledge?: string | undefined;
                format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
                fields?: {
                    path: string;
                    label?: string | undefined;
                    format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
                }[] | undefined;
            } | undefined;
            visible?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            disabled?: boolean | {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            requiredPermissions?: string[] | undefined;
            shortcut?: string | undefined;
            bulkEnabled?: boolean | undefined;
            ai?: {
                exposed: boolean;
                description?: string | undefined;
                category?: "action" | "data" | "flow" | "integration" | "vector_search" | "analytics" | "utility" | undefined;
                paramHints?: Record<string, {
                    description?: string | undefined;
                    enum?: (string | number)[] | undefined;
                    examples?: unknown[] | undefined;
                }> | undefined;
                outputSchema?: Record<string, unknown> | undefined;
                requiresConfirmation?: boolean | undefined;
            } | undefined;
            recordIdParam?: string | undefined;
            recordIdField?: string | undefined;
            bodyShape?: "flat" | {
                wrap: string;
            } | undefined;
            method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
            bodyExtra?: Record<string, unknown> | undefined;
            mode?: "custom" | "delete" | "edit" | "create" | undefined;
            opensInNewTab?: boolean | undefined;
            newTabUrl?: string | undefined;
            timeout?: number | undefined;
            aria?: {
                ariaLabel?: string | undefined;
                ariaDescribedBy?: string | undefined;
                role?: string | undefined;
            } | undefined;
        }[] | undefined;
        protection?: {
            lock: "full" | "none" | "no-overlay" | "no-delete";
            reason: string;
            docsUrl?: string | undefined;
        } | undefined;
    };
    safeParse(data: unknown, params?: Parameters<typeof ObjectSchemaBase.safeParse>[1]): z.ZodSafeParseResult<{
        name: string;
        active: boolean;
        isSystem: boolean;
        abstract: boolean;
        datasource: string;
        fields: Record<string, {
            type: "number" | "boolean" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "lookup" | "master_detail" | "currency" | "percent" | "password" | "secret" | "email" | "time" | "user" | "text" | "textarea" | "phone" | "markdown" | "html" | "richtext" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector";
            required: boolean;
            searchable: boolean;
            multiple: boolean;
            unique: boolean;
            deleteBehavior: "set_null" | "cascade" | "restrict";
            hidden: boolean;
            readonly: boolean;
            sortable: boolean;
            index: boolean;
            externalId: boolean;
            name?: string | undefined;
            label?: string | undefined;
            description?: string | undefined;
            format?: string | undefined;
            columnName?: string | undefined;
            defaultValue?: unknown;
            maxLength?: number | undefined;
            minLength?: number | undefined;
            precision?: number | undefined;
            scale?: number | undefined;
            min?: number | undefined;
            max?: number | undefined;
            options?: {
                label: string;
                value: string;
                color?: string | undefined;
                default?: boolean | undefined;
            }[] | undefined;
            reference?: string | undefined;
            referenceFilters?: string[] | undefined;
            inlineEdit?: boolean | "grid" | "form" | undefined;
            inlineTitle?: string | undefined;
            inlineColumns?: any[] | undefined;
            inlineAmountField?: string | undefined;
            relatedList?: boolean | undefined;
            relatedListTitle?: string | undefined;
            relatedListColumns?: any[] | undefined;
            displayField?: string | undefined;
            descriptionField?: string | undefined;
            lookupColumns?: (string | {
                field: string;
                label?: string | undefined;
                width?: string | undefined;
                type?: string | undefined;
            })[] | undefined;
            lookupPageSize?: number | undefined;
            lookupFilters?: {
                field: string;
                operator: "in" | "eq" | "ne" | "gt" | "lt" | "gte" | "lte" | "contains" | "notIn";
                value: any;
            }[] | undefined;
            dependsOn?: (string | {
                field: string;
                param?: string | undefined;
            })[] | undefined;
            allowCreate?: boolean | undefined;
            expression?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            returnType?: "number" | "boolean" | "date" | "text" | undefined;
            summaryOperations?: {
                object: string;
                field: string;
                function: "min" | "max" | "count" | "sum" | "avg";
                relationshipField?: string | undefined;
            } | undefined;
            language?: string | undefined;
            step?: number | undefined;
            currencyConfig?: {
                precision: number;
                currencyMode: "fixed" | "dynamic";
                defaultCurrency: string;
            } | undefined;
            dimensions?: number | undefined;
            vectorConfig?: {
                dimensions: number;
                distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
                normalized: boolean;
                indexed: boolean;
                indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
            } | undefined;
            fileAttachmentConfig?: {
                virusScan: boolean;
                virusScanOnUpload: boolean;
                quarantineOnThreat: boolean;
                allowMultiple: boolean;
                allowReplace: boolean;
                allowDelete: boolean;
                requireUpload: boolean;
                extractMetadata: boolean;
                extractText: boolean;
                versioningEnabled: boolean;
                publicRead: boolean;
                presignedUrlExpiry: number;
                minSize?: number | undefined;
                maxSize?: number | undefined;
                allowedTypes?: string[] | undefined;
                blockedTypes?: string[] | undefined;
                allowedMimeTypes?: string[] | undefined;
                blockedMimeTypes?: string[] | undefined;
                virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
                storageProvider?: string | undefined;
                storageBucket?: string | undefined;
                storagePrefix?: string | undefined;
                imageValidation?: {
                    generateThumbnails: boolean;
                    preserveMetadata: boolean;
                    autoRotate: boolean;
                    minWidth?: number | undefined;
                    maxWidth?: number | undefined;
                    minHeight?: number | undefined;
                    maxHeight?: number | undefined;
                    aspectRatio?: string | undefined;
                    thumbnailSizes?: {
                        name: string;
                        width: number;
                        height: number;
                        crop: boolean;
                    }[] | undefined;
                } | undefined;
                maxVersions?: number | undefined;
            } | undefined;
            trackHistory?: boolean | undefined;
            dependencies?: string[] | undefined;
            group?: string | undefined;
            visibleWhen?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            readonlyWhen?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            requiredWhen?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            conditionalRequired?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            requiredPermissions?: string[] | undefined;
            system?: boolean | undefined;
            inlineHelpText?: string | undefined;
            autonumberFormat?: string | undefined;
        }>;
        _lock?: "full" | "none" | "no-overlay" | "no-delete" | undefined;
        _lockReason?: string | undefined;
        _lockSource?: "artifact" | "package" | "env-forced" | undefined;
        _provenance?: "package" | "env-forced" | "org" | undefined;
        _packageId?: string | undefined;
        _packageVersion?: string | undefined;
        _lockDocsUrl?: string | undefined;
        label?: string | undefined;
        pluralLabel?: string | undefined;
        description?: string | undefined;
        icon?: string | undefined;
        tags?: string[] | undefined;
        managedBy?: "platform" | "system" | "config" | "append-only" | "better-auth" | undefined;
        userActions?: {
            create?: boolean | undefined;
            import?: boolean | undefined;
            edit?: boolean | undefined;
            delete?: boolean | undefined;
            exportCsv?: boolean | undefined;
        } | undefined;
        systemFields?: false | {
            tenant?: boolean | undefined;
            owner?: boolean | undefined;
            audit?: boolean | undefined;
        } | undefined;
        external?: {
            writable: boolean;
            remoteName?: string | undefined;
            remoteSchema?: string | undefined;
            columnMap?: Record<string, string> | undefined;
            introspectedAt?: string | undefined;
            ignoreColumns?: string[] | undefined;
        } | undefined;
        indexes?: {
            fields: string[];
            type: "hash" | "btree" | "gin" | "gist" | "fulltext";
            unique: boolean;
            name?: string | undefined;
            partial?: string | undefined;
        }[] | undefined;
        fieldGroups?: {
            key: string;
            label: string;
            collapse: "none" | "expanded" | "collapsed";
            icon?: string | undefined;
            description?: string | undefined;
            defaultExpanded?: boolean | undefined;
            collapsible?: boolean | undefined;
            collapsed?: boolean | undefined;
        }[] | undefined;
        tenancy?: {
            enabled: boolean;
            strategy: "hybrid" | "shared" | "isolated";
            tenantField: string;
            crossTenantAccess: boolean;
        } | undefined;
        access?: {
            default: "public" | "private";
        } | undefined;
        requiredPermissions?: string[] | undefined;
        softDelete?: {
            enabled: boolean;
            field: string;
            cascadeDelete: boolean;
        } | undefined;
        versioning?: {
            enabled: boolean;
            strategy: "snapshot" | "delta" | "event-sourcing";
            versionField: string;
            retentionDays?: number | undefined;
        } | undefined;
        validations?: BaseValidationRuleShape[] | undefined;
        activityMilestones?: {
            field: string;
            value: string;
            summary: string;
            type?: string | undefined;
        }[] | undefined;
        nameField?: string | undefined;
        displayNameField?: string | undefined;
        recordName?: {
            type: "text" | "autonumber";
            displayFormat?: string | undefined;
            startNumber?: number | undefined;
        } | undefined;
        titleFormat?: {
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        } | undefined;
        highlightFields?: string[] | undefined;
        compactLayout?: string[] | undefined;
        stageField?: string | false | undefined;
        listViews?: Record<string, {
            type: "map" | "tree" | "grid" | "kanban" | "gallery" | "calendar" | "timeline" | "gantt" | "chart";
            columns: string[] | {
                field: string;
                label?: string | undefined;
                width?: number | undefined;
                align?: "left" | "center" | "right" | undefined;
                hidden?: boolean | undefined;
                sortable?: boolean | undefined;
                resizable?: boolean | undefined;
                wrap?: boolean | undefined;
                type?: string | undefined;
                pinned?: "left" | "right" | undefined;
                summary?: "none" | "min" | "max" | "count" | "sum" | "avg" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
                link?: boolean | undefined;
                action?: string | undefined;
            }[];
            name?: string | undefined;
            label?: string | undefined;
            data?: {
                provider: "object";
                object: string;
            } | {
                provider: "api";
                read?: {
                    url: string;
                    method: "POST" | "PATCH" | "PUT" | "DELETE" | "GET";
                    headers?: Record<string, string> | undefined;
                    params?: Record<string, unknown> | undefined;
                    body?: unknown;
                } | undefined;
                write?: {
                    url: string;
                    method: "POST" | "PATCH" | "PUT" | "DELETE" | "GET";
                    headers?: Record<string, string> | undefined;
                    params?: Record<string, unknown> | undefined;
                    body?: unknown;
                } | undefined;
            } | {
                provider: "value";
                items: unknown[];
            } | {
                provider: "schema";
                schemaId: string;
                schema?: Record<string, unknown> | undefined;
            } | undefined;
            filter?: {
                field: string;
                operator: string;
                value?: string | number | boolean | (string | number)[] | null | undefined;
            }[] | undefined;
            sort?: string | {
                field: string;
                order: "asc" | "desc";
            }[] | undefined;
            searchableFields?: string[] | undefined;
            filterableFields?: string[] | undefined;
            userFilters?: {
                element: "toggle" | "dropdown" | "tabs";
                fields?: {
                    field: string;
                    label?: string | undefined;
                    type?: "boolean" | "text" | "select" | "multi-select" | "date-range" | undefined;
                    options?: {
                        value: string | number | boolean;
                        label: string;
                        color?: string | undefined;
                    }[] | undefined;
                    showCount?: boolean | undefined;
                    defaultValues?: (string | number | boolean)[] | undefined;
                }[] | undefined;
                tabs?: {
                    name: string;
                    pinned: boolean;
                    isDefault: boolean;
                    visible: boolean;
                    label?: string | undefined;
                    icon?: string | undefined;
                    view?: string | undefined;
                    filter?: {
                        field: string;
                        operator: string;
                        value?: string | number | boolean | (string | number)[] | null | undefined;
                    }[] | undefined;
                    order?: number | undefined;
                }[] | undefined;
                showAllRecords?: boolean | undefined;
            } | undefined;
            resizable?: boolean | undefined;
            striped?: boolean | undefined;
            bordered?: boolean | undefined;
            compactToolbar?: boolean | undefined;
            selection?: {
                type: "single" | "multiple" | "none";
            } | undefined;
            navigation?: {
                mode: "split" | "none" | "page" | "drawer" | "modal" | "popover" | "new_window";
                preventNavigation: boolean;
                openNewTab: boolean;
                view?: string | undefined;
                width?: string | number | undefined;
            } | undefined;
            pagination?: {
                pageSize: number;
                pageSizeOptions?: number[] | undefined;
            } | undefined;
            kanban?: {
                groupByField: string;
                columns: string[];
                summarizeField?: string | undefined;
            } | undefined;
            calendar?: {
                startDateField: string;
                titleField: string;
                endDateField?: string | undefined;
                colorField?: string | undefined;
            } | undefined;
            gantt?: {
                [x: string]: unknown;
                startDateField: string;
                endDateField: string;
                titleField: string;
                progressField?: string | undefined;
                dependenciesField?: string | undefined;
                colorField?: string | undefined;
                parentField?: string | undefined;
                typeField?: string | undefined;
                baselineStartField?: string | undefined;
                baselineEndField?: string | undefined;
                groupByField?: string | undefined;
                resourceView?: boolean | undefined;
                assigneeField?: string | undefined;
                effortField?: string | undefined;
                capacity?: number | undefined;
                tooltipFields?: (string | {
                    field: string;
                    label?: string | undefined;
                })[] | undefined;
                quickFilters?: {
                    field: string;
                    label?: string | undefined;
                    options?: (string | {
                        value: string | number;
                        label?: string | undefined;
                    })[] | undefined;
                }[] | undefined;
                autoZoomToFilter?: boolean | undefined;
            } | undefined;
            gallery?: {
                coverFit: "cover" | "contain";
                cardSize: "small" | "medium" | "large";
                coverField?: string | undefined;
                titleField?: string | undefined;
                visibleFields?: string[] | undefined;
            } | undefined;
            timeline?: {
                startDateField: string;
                titleField: string;
                scale: "hour" | "day" | "week" | "month" | "quarter" | "year";
                endDateField?: string | undefined;
                groupByField?: string | undefined;
                colorField?: string | undefined;
            } | undefined;
            chart?: {
                chartType: "bar" | "line" | "pie" | "area" | "scatter";
                dataset: string;
                values: string[];
                dimensions?: string[] | undefined;
            } | undefined;
            tree?: {
                [x: string]: unknown;
                parentField?: string | undefined;
                labelField?: string | undefined;
                fields?: string[] | undefined;
                defaultExpandedDepth?: number | undefined;
            } | undefined;
            description?: string | undefined;
            sharing?: {
                type: "personal" | "collaborative";
                lockedBy?: string | undefined;
            } | undefined;
            rowHeight?: "medium" | "short" | "compact" | "tall" | "extra_tall" | undefined;
            grouping?: {
                fields: {
                    field: string;
                    order: "asc" | "desc";
                    collapsed: boolean;
                }[];
            } | undefined;
            rowColor?: {
                field: string;
                colors?: Record<string, string> | undefined;
            } | undefined;
            hiddenFields?: string[] | undefined;
            fieldOrder?: string[] | undefined;
            rowActions?: string[] | undefined;
            bulkActions?: string[] | undefined;
            bulkActionDefs?: Record<string, any>[] | undefined;
            virtualScroll?: boolean | undefined;
            conditionalFormatting?: {
                condition: {
                    dialect: "cel" | "js" | "cron" | "template";
                    source?: string | undefined;
                    ast?: unknown;
                    meta?: {
                        rationale?: string | undefined;
                        generatedBy?: string | undefined;
                    } | undefined;
                };
                style: Record<string, string>;
            }[] | undefined;
            inlineEdit?: boolean | undefined;
            exportOptions?: ("json" | "csv" | "xlsx" | "pdf")[] | undefined;
            userActions?: {
                sort: boolean;
                search: boolean;
                filter: boolean;
                rowHeight: boolean;
                addRecordForm: boolean;
                editInline: boolean;
                buttons?: string[] | undefined;
            } | undefined;
            appearance?: {
                showDescription: boolean;
                allowedVisualizations?: ("map" | "tree" | "grid" | "kanban" | "gallery" | "calendar" | "timeline" | "gantt" | "chart")[] | undefined;
            } | undefined;
            tabs?: {
                name: string;
                pinned: boolean;
                isDefault: boolean;
                visible: boolean;
                label?: string | undefined;
                icon?: string | undefined;
                view?: string | undefined;
                filter?: {
                    field: string;
                    operator: string;
                    value?: string | number | boolean | (string | number)[] | null | undefined;
                }[] | undefined;
                order?: number | undefined;
            }[] | undefined;
            addRecord?: {
                enabled: boolean;
                position: "top" | "bottom" | "both";
                mode: "form" | "modal" | "inline";
                formView?: string | undefined;
            } | undefined;
            showRecordCount?: boolean | undefined;
            allowPrinting?: boolean | undefined;
            emptyState?: {
                title?: string | undefined;
                message?: string | undefined;
                icon?: string | undefined;
            } | undefined;
            aria?: {
                ariaLabel?: string | undefined;
                ariaDescribedBy?: string | undefined;
                role?: string | undefined;
            } | undefined;
            responsive?: {
                breakpoint?: "md" | "xs" | "sm" | "lg" | "xl" | "2xl" | undefined;
                hiddenOn?: ("md" | "xs" | "sm" | "lg" | "xl" | "2xl")[] | undefined;
                columns?: {
                    xs?: number | undefined;
                    sm?: number | undefined;
                    md?: number | undefined;
                    lg?: number | undefined;
                    xl?: number | undefined;
                    '2xl'?: number | undefined;
                } | undefined;
                order?: {
                    xs?: number | undefined;
                    sm?: number | undefined;
                    md?: number | undefined;
                    lg?: number | undefined;
                    xl?: number | undefined;
                    '2xl'?: number | undefined;
                } | undefined;
            } | undefined;
            performance?: {
                lazyLoad?: boolean | undefined;
                virtualScroll?: {
                    enabled: boolean;
                    itemHeight?: number | undefined;
                    overscan?: number | undefined;
                } | undefined;
                cacheStrategy?: "none" | "cache-first" | "network-first" | "stale-while-revalidate" | undefined;
                prefetch?: boolean | undefined;
                pageSize?: number | undefined;
                debounceMs?: number | undefined;
            } | undefined;
        }> | undefined;
        searchableFields?: string[] | undefined;
        search?: {
            fields: string[];
            displayFields?: string[] | undefined;
            filters?: string[] | undefined;
        } | undefined;
        enable?: {
            trackHistory: boolean;
            searchable: boolean;
            apiEnabled: boolean;
            files: boolean;
            feeds: boolean;
            activities: boolean;
            trash: boolean;
            mru: boolean;
            clone: boolean;
            apiMethods?: ("search" | "get" | "delete" | "update" | "upsert" | "create" | "list" | "bulk" | "aggregate" | "history" | "restore" | "purge" | "import" | "export")[] | undefined;
        } | undefined;
        sharingModel?: "full" | "read" | "private" | "public_read" | "public_read_write" | "controlled_by_parent" | "read_write" | undefined;
        publicSharing?: {
            enabled: boolean;
            allowedAudiences?: ("email" | "public" | "link_only" | "signed_in")[] | undefined;
            allowedPermissions?: ("view" | "edit" | "comment")[] | undefined;
            maxExpiryDays?: number | undefined;
            redactFields?: string[] | undefined;
            eligibility?: string | undefined;
        } | undefined;
        keyPrefix?: string | undefined;
        actions?: {
            name: string;
            label: string;
            type: "url" | "form" | "flow" | "api" | "script" | "modal";
            refreshAfter: boolean;
            objectName?: string | undefined;
            icon?: string | undefined;
            locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "record_section" | "global_nav")[] | undefined;
            component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
            target?: string | undefined;
            openIn?: "self" | "new-tab" | undefined;
            body?: {
                language: "expression";
                source: string;
            } | {
                language: "js";
                source: string;
                capabilities: ("api.read" | "api.write" | "api.transaction" | "crypto.uuid" | "crypto.hash" | "log")[];
                timeoutMs?: number | undefined;
                memoryMb?: number | undefined;
            } | undefined;
            execute?: string | undefined;
            params?: {
                required: boolean;
                name?: string | undefined;
                field?: string | undefined;
                objectOverride?: string | undefined;
                label?: string | undefined;
                type?: "number" | "boolean" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "lookup" | "master_detail" | "currency" | "percent" | "password" | "secret" | "email" | "time" | "user" | "text" | "textarea" | "phone" | "markdown" | "html" | "richtext" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
                options?: {
                    label: string;
                    value: string;
                }[] | undefined;
                placeholder?: string | undefined;
                helpText?: string | undefined;
                defaultValue?: unknown;
                defaultFromRow?: boolean | undefined;
            }[] | undefined;
            variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
            confirmText?: string | undefined;
            successMessage?: string | undefined;
            errorMessage?: string | undefined;
            undoable?: boolean | undefined;
            resultDialog?: {
                title?: string | undefined;
                description?: string | undefined;
                acknowledge?: string | undefined;
                format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
                fields?: {
                    path: string;
                    label?: string | undefined;
                    format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
                }[] | undefined;
            } | undefined;
            visible?: {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            disabled?: boolean | {
                dialect: "cel" | "js" | "cron" | "template";
                source?: string | undefined;
                ast?: unknown;
                meta?: {
                    rationale?: string | undefined;
                    generatedBy?: string | undefined;
                } | undefined;
            } | undefined;
            requiredPermissions?: string[] | undefined;
            shortcut?: string | undefined;
            bulkEnabled?: boolean | undefined;
            ai?: {
                exposed: boolean;
                description?: string | undefined;
                category?: "action" | "data" | "flow" | "integration" | "vector_search" | "analytics" | "utility" | undefined;
                paramHints?: Record<string, {
                    description?: string | undefined;
                    enum?: (string | number)[] | undefined;
                    examples?: unknown[] | undefined;
                }> | undefined;
                outputSchema?: Record<string, unknown> | undefined;
                requiresConfirmation?: boolean | undefined;
            } | undefined;
            recordIdParam?: string | undefined;
            recordIdField?: string | undefined;
            bodyShape?: "flat" | {
                wrap: string;
            } | undefined;
            method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
            bodyExtra?: Record<string, unknown> | undefined;
            mode?: "custom" | "delete" | "edit" | "create" | undefined;
            opensInNewTab?: boolean | undefined;
            newTabUrl?: string | undefined;
            timeout?: number | undefined;
            aria?: {
                ariaLabel?: string | undefined;
                ariaDescribedBy?: string | undefined;
                role?: string | undefined;
            } | undefined;
        }[] | undefined;
        protection?: {
            lock: "full" | "none" | "no-overlay" | "no-delete";
            reason: string;
            docsUrl?: string | undefined;
        } | undefined;
    }>;
    /**
     * Type-safe factory for creating business object definitions.
     *
     * Enhancements over raw schema:
     * - **Auto-label**: Generates `label` from `name` if not provided (snake_case → Title Case).
     * - **Validation**: Runs Zod `.parse()` to validate the config at creation time.
     * - **No silent strip** (ADR-0032 / #1535): unknown top-level keys (e.g. a
     *   typo'd `validation`, or an object-level `workflows[]`) are rejected with a
     *   precise, fixable error instead of being discarded by Zod's `.strip()`.
     *
     * @example
     * ```ts
     * const Task = ObjectSchema.create({
     *   name: 'project_task',
     *   // label auto-generated as 'Project Task'
     *   fields: {
     *     subject: { type: 'text', label: 'Subject', required: true },
     *   },
     * });
     * ```
     */
    create: <const T extends z.input<typeof ObjectSchemaBase>>(config: NoExcessObjectKeys<T>) => Omit<ServiceObject, "fields"> & Pick<T, "fields">;
};
type ServiceObject = z.infer<typeof ObjectSchemaBase>;
type ServiceObjectInput = z.input<typeof ObjectSchemaBase>;
/**
 * Capability Flags
 * Defines what system features are enabled for this object.
 *
 * Optimized based on industry standards (Salesforce, ServiceNow):
 * - Added `activities` (Tasks/Events)
 * - Added `mru` (Recent Items)
 * - Added `feeds` (Social/Chatter)
 * - Grouped API permissions
 *
 * @example
 * {
 *   trackHistory: true,
 *   searchable: true,
 *   apiEnabled: true,
 *   files: true
 * }
 */
declare const ObjectCapabilities: z.ZodObject<{
    trackHistory: z.ZodDefault<z.ZodBoolean>;
    searchable: z.ZodDefault<z.ZodBoolean>;
    apiEnabled: z.ZodDefault<z.ZodBoolean>;
    apiMethods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        search: "search";
        get: "get";
        delete: "delete";
        update: "update";
        upsert: "upsert";
        create: "create";
        list: "list";
        bulk: "bulk";
        aggregate: "aggregate";
        history: "history";
        restore: "restore";
        purge: "purge";
        import: "import";
        export: "export";
    }>>>;
    files: z.ZodDefault<z.ZodBoolean>;
    feeds: z.ZodDefault<z.ZodBoolean>;
    activities: z.ZodDefault<z.ZodBoolean>;
    trash: z.ZodDefault<z.ZodBoolean>;
    mru: z.ZodDefault<z.ZodBoolean>;
    clone: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
type ObjectCapabilities = z.infer<typeof ObjectCapabilities>;
type ObjectIndex = z.infer<typeof IndexSchema>;
type TenancyConfig = z.infer<typeof TenancyConfigSchema>;
type ObjectAccessConfig = z.infer<typeof ObjectAccessConfigSchema>;
type SoftDeleteConfig = z.infer<typeof SoftDeleteConfigSchema>;
type VersioningConfig = z.infer<typeof VersioningConfigSchema>;
/**
 * Resolved CRUD affordance matrix for an object — what generic
 * lifecycle actions UI clients should expose in their toolbars.
 *
 * Use {@link resolveCrudAffordances} to compute this from a schema; the
 * `managedBy` flag drives the defaults, and the optional `userActions`
 * block per-flag-overrides them. UI clients (`ObjectView`,
 * `RecordDetailView`, `RecordFormPage`, …) gate their buttons on this
 * matrix in combination with the user's permissions.
 *
 * The presence of an affordance here means "the *object* permits this
 * action conceptually"; the user still needs the matching permission
 * grant to execute it.
 */
interface CrudAffordances {
    /** Generic "New" button (single record creation form). */
    create: boolean;
    /** CSV bulk-import wizard. Disabled for config / system / append-only / better-auth by default. */
    import: boolean;
    /** Inline + form editing of existing rows. */
    edit: boolean;
    /** Row-level + bulk delete. */
    delete: boolean;
    /** CSV / clipboard export. Allowed even on append-only audit tables by default. */
    exportCsv: boolean;
}
/**
 * Resolve the effective CRUD affordance matrix for an object schema.
 *
 * Starts from the bucket default keyed off `managedBy` (defaulting to
 * `'platform'` if unset) and applies the per-flag overrides in
 * `userActions`. Returns a fresh object so callers can mutate safely.
 *
 * @example
 * ```ts
 * const aff = resolveCrudAffordances(sysApprovalRequestSchema);
 * // → { create:false, import:false, edit:false, delete:false, exportCsv:true }
 * ```
 */
declare function resolveCrudAffordances(obj: Pick<ServiceObject, 'managedBy' | 'userActions'> | {
    managedBy?: string;
    userActions?: ServiceObject['userActions'];
}): CrudAffordances;
/**
 * How a package relates to an object it references.
 *
 * - `own`: This package is the original author/owner of the object.
 *   Only one package may own a given object name. The owner defines
 *   the base schema (table name, primary key, core fields).
 *
 * - `extend`: This package adds fields, views, or actions to an
 *   existing object owned by another package. Multiple packages
 *   may extend the same object. Extensions are merged at boot time.
 *
 * Follows Salesforce/ServiceNow patterns:
 *   object name = database table name, globally unique, no namespace prefix.
 */
declare const ObjectOwnershipEnum: z.ZodEnum<{
    own: "own";
    extend: "extend";
}>;
type ObjectOwnership = z.infer<typeof ObjectOwnershipEnum>;
/**
 * Object Extension Entry — used in `objectExtensions` array.
 * Declares fields/config to merge into an existing object owned by another package.
 *
 * @example
 * ```ts
 * objectExtensions: [{
 *   extend: 'contact',               // target object FQN
 *   fields: { sales_stage: Field.select([...]) },
 * }]
 * ```
 */
declare const ObjectExtensionSchema: z.ZodObject<{
    extend: z.ZodString;
    fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        label: z.ZodOptional<z.ZodString>;
        type: z.ZodEnum<{
            number: "number";
            boolean: "boolean";
            date: "date";
            record: "record";
            file: "file";
            code: "code";
            datetime: "datetime";
            signature: "signature";
            progress: "progress";
            url: "url";
            lookup: "lookup";
            master_detail: "master_detail";
            currency: "currency";
            percent: "percent";
            password: "password";
            secret: "secret";
            email: "email";
            time: "time";
            user: "user";
            text: "text";
            textarea: "textarea";
            phone: "phone";
            markdown: "markdown";
            html: "html";
            richtext: "richtext";
            toggle: "toggle";
            select: "select";
            multiselect: "multiselect";
            radio: "radio";
            checkboxes: "checkboxes";
            tree: "tree";
            image: "image";
            avatar: "avatar";
            video: "video";
            audio: "audio";
            formula: "formula";
            summary: "summary";
            autonumber: "autonumber";
            composite: "composite";
            repeater: "repeater";
            location: "location";
            address: "address";
            json: "json";
            color: "color";
            rating: "rating";
            slider: "slider";
            qrcode: "qrcode";
            tags: "tags";
            vector: "vector";
        }>;
        description: z.ZodOptional<z.ZodString>;
        format: z.ZodOptional<z.ZodString>;
        columnName: z.ZodOptional<z.ZodString>;
        required: z.ZodDefault<z.ZodBoolean>;
        searchable: z.ZodDefault<z.ZodBoolean>;
        multiple: z.ZodDefault<z.ZodBoolean>;
        unique: z.ZodDefault<z.ZodBoolean>;
        defaultValue: z.ZodOptional<z.ZodUnknown>;
        maxLength: z.ZodOptional<z.ZodNumber>;
        minLength: z.ZodOptional<z.ZodNumber>;
        precision: z.ZodOptional<z.ZodNumber>;
        scale: z.ZodOptional<z.ZodNumber>;
        min: z.ZodOptional<z.ZodNumber>;
        max: z.ZodOptional<z.ZodNumber>;
        options: z.ZodOptional<z.ZodArray<z.ZodObject<{
            label: z.ZodString;
            value: z.ZodString;
            color: z.ZodOptional<z.ZodString>;
            default: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>>;
        reference: z.ZodOptional<z.ZodString>;
        referenceFilters: z.ZodOptional<z.ZodArray<z.ZodString>>;
        deleteBehavior: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            set_null: "set_null";
            cascade: "cascade";
            restrict: "restrict";
        }>>>;
        inlineEdit: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
            grid: "grid";
            form: "form";
        }>]>>;
        inlineTitle: z.ZodOptional<z.ZodString>;
        inlineColumns: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        inlineAmountField: z.ZodOptional<z.ZodString>;
        relatedList: z.ZodOptional<z.ZodBoolean>;
        relatedListTitle: z.ZodOptional<z.ZodString>;
        relatedListColumns: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        displayField: z.ZodOptional<z.ZodString>;
        descriptionField: z.ZodOptional<z.ZodString>;
        lookupColumns: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            field: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            width: z.ZodOptional<z.ZodString>;
            type: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>]>>>;
        lookupPageSize: z.ZodOptional<z.ZodNumber>;
        lookupFilters: z.ZodOptional<z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            operator: z.ZodEnum<{
                in: "in";
                eq: "eq";
                ne: "ne";
                gt: "gt";
                lt: "lt";
                gte: "gte";
                lte: "lte";
                contains: "contains";
                notIn: "notIn";
            }>;
            value: z.ZodAny;
        }, z.core.$strip>>>;
        dependsOn: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            field: z.ZodString;
            param: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>]>>>;
        allowCreate: z.ZodOptional<z.ZodBoolean>;
        expression: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        returnType: z.ZodOptional<z.ZodEnum<{
            number: "number";
            boolean: "boolean";
            date: "date";
            text: "text";
        }>>;
        summaryOperations: z.ZodOptional<z.ZodObject<{
            object: z.ZodString;
            field: z.ZodString;
            function: z.ZodEnum<{
                min: "min";
                max: "max";
                count: "count";
                sum: "sum";
                avg: "avg";
            }>;
            relationshipField: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        language: z.ZodOptional<z.ZodString>;
        step: z.ZodOptional<z.ZodNumber>;
        currencyConfig: z.ZodOptional<z.ZodObject<{
            precision: z.ZodDefault<z.ZodNumber>;
            currencyMode: z.ZodDefault<z.ZodEnum<{
                fixed: "fixed";
                dynamic: "dynamic";
            }>>;
            defaultCurrency: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>>;
        dimensions: z.ZodOptional<z.ZodNumber>;
        vectorConfig: z.ZodOptional<z.ZodObject<{
            dimensions: z.ZodNumber;
            distanceMetric: z.ZodDefault<z.ZodEnum<{
                cosine: "cosine";
                euclidean: "euclidean";
                dotProduct: "dotProduct";
                manhattan: "manhattan";
            }>>;
            normalized: z.ZodDefault<z.ZodBoolean>;
            indexed: z.ZodDefault<z.ZodBoolean>;
            indexType: z.ZodOptional<z.ZodEnum<{
                flat: "flat";
                hnsw: "hnsw";
                ivfflat: "ivfflat";
            }>>;
        }, z.core.$strip>>;
        fileAttachmentConfig: z.ZodOptional<z.ZodObject<{
            minSize: z.ZodOptional<z.ZodNumber>;
            maxSize: z.ZodOptional<z.ZodNumber>;
            allowedTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            blockedTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            allowedMimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            blockedMimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            virusScan: z.ZodDefault<z.ZodBoolean>;
            virusScanProvider: z.ZodOptional<z.ZodEnum<{
                custom: "custom";
                clamav: "clamav";
                virustotal: "virustotal";
                metadefender: "metadefender";
            }>>;
            virusScanOnUpload: z.ZodDefault<z.ZodBoolean>;
            quarantineOnThreat: z.ZodDefault<z.ZodBoolean>;
            storageProvider: z.ZodOptional<z.ZodString>;
            storageBucket: z.ZodOptional<z.ZodString>;
            storagePrefix: z.ZodOptional<z.ZodString>;
            imageValidation: z.ZodOptional<z.ZodObject<{
                minWidth: z.ZodOptional<z.ZodNumber>;
                maxWidth: z.ZodOptional<z.ZodNumber>;
                minHeight: z.ZodOptional<z.ZodNumber>;
                maxHeight: z.ZodOptional<z.ZodNumber>;
                aspectRatio: z.ZodOptional<z.ZodString>;
                generateThumbnails: z.ZodDefault<z.ZodBoolean>;
                thumbnailSizes: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    width: z.ZodNumber;
                    height: z.ZodNumber;
                    crop: z.ZodDefault<z.ZodBoolean>;
                }, z.core.$strip>>>;
                preserveMetadata: z.ZodDefault<z.ZodBoolean>;
                autoRotate: z.ZodDefault<z.ZodBoolean>;
            }, z.core.$strip>>;
            allowMultiple: z.ZodDefault<z.ZodBoolean>;
            allowReplace: z.ZodDefault<z.ZodBoolean>;
            allowDelete: z.ZodDefault<z.ZodBoolean>;
            requireUpload: z.ZodDefault<z.ZodBoolean>;
            extractMetadata: z.ZodDefault<z.ZodBoolean>;
            extractText: z.ZodDefault<z.ZodBoolean>;
            versioningEnabled: z.ZodDefault<z.ZodBoolean>;
            maxVersions: z.ZodOptional<z.ZodNumber>;
            publicRead: z.ZodDefault<z.ZodBoolean>;
            presignedUrlExpiry: z.ZodDefault<z.ZodNumber>;
        }, z.core.$strip>>;
        trackHistory: z.ZodOptional<z.ZodBoolean>;
        dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
        group: z.ZodOptional<z.ZodString>;
        visibleWhen: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        readonlyWhen: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        requiredWhen: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        conditionalRequired: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<{
            dialect: "cel" | "js" | "cron" | "template";
            source?: string | undefined;
            ast?: unknown;
            meta?: {
                rationale?: string | undefined;
                generatedBy?: string | undefined;
            } | undefined;
        }, string>>, z.ZodObject<{
            dialect: z.ZodEnum<{
                cel: "cel";
                js: "js";
                cron: "cron";
                template: "template";
            }>;
            source: z.ZodOptional<z.ZodString>;
            ast: z.ZodOptional<z.ZodUnknown>;
            meta: z.ZodOptional<z.ZodObject<{
                rationale: z.ZodOptional<z.ZodString>;
                generatedBy: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>]>>;
        hidden: z.ZodDefault<z.ZodBoolean>;
        readonly: z.ZodDefault<z.ZodBoolean>;
        requiredPermissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
        system: z.ZodOptional<z.ZodBoolean>;
        sortable: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        inlineHelpText: z.ZodOptional<z.ZodString>;
        autonumberFormat: z.ZodOptional<z.ZodString>;
        index: z.ZodDefault<z.ZodBoolean>;
        externalId: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>>;
    label: z.ZodOptional<z.ZodString>;
    pluralLabel: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    validations: z.ZodOptional<z.ZodArray<z.ZodType<BaseValidationRuleShape, unknown, z.core.$ZodTypeInternals<BaseValidationRuleShape, unknown>>>>;
    indexes: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        fields: z.ZodArray<z.ZodString>;
        type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            hash: "hash";
            btree: "btree";
            gin: "gin";
            gist: "gist";
            fulltext: "fulltext";
        }>>>;
        unique: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        partial: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    priority: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
type ObjectExtension = z.infer<typeof ObjectExtensionSchema>;
/** Authoring input for {@link ObjectExtension} — defaulted fields are optional. */
type ObjectExtensionInput = z.input<typeof ObjectExtensionSchema>;
/**
 * Type-safe factory for an extension to an object owned by another package. Validates at authoring time via
 * `.parse()` and accepts input-shape config (optional defaults, CEL
 * shorthand) — preferred over a bare `: ObjectExtension` literal.
 */
declare function defineObjectExtension(config: z.input<typeof ObjectExtensionSchema>): ObjectExtension;

export { ApiMethod as A, type BaseValidationRuleShape as B, type ConditionalValidation as C, type StateMachineValidation as D, StateMachineValidationSchema as E, type FormatValidation as F, TenancyConfigSchema as G, ValidationRuleSchema as H, IndexSchema as I, type JSONValidation as J, type VersioningConfig as K, VersioningConfigSchema as L, defineObjectExtension as M, resolveCrudAffordances as N, ObjectSchema as O, type ServiceObject as S, type TenancyConfig as T, type ValidationRule as V, ConditionalValidationSchema as a, type CrossFieldValidation as b, CrossFieldValidationSchema as c, type CrudAffordances as d, FormatValidationSchema as e, JSONValidationSchema as f, type ObjectAccessConfig as g, ObjectAccessConfigSchema as h, ObjectCapabilities as i, type ObjectExtension as j, type ObjectExtensionInput as k, ObjectExtensionSchema as l, type ObjectExternalBinding as m, ObjectExternalBindingSchema as n, type ObjectFieldGroup as o, type ObjectFieldGroupInput as p, ObjectFieldGroupSchema as q, type ObjectIndex as r, type ObjectOwnership as s, ObjectOwnershipEnum as t, type ScriptValidation as u, ScriptValidationSchema as v, SearchConfigSchema as w, type ServiceObjectInput as x, type SoftDeleteConfig as y, SoftDeleteConfigSchema as z };
