import { F as FilterCondition } from './filter.zod-CtZ3VJ3e.js';
import { z } from 'zod';
import { Q as QueryAST } from './field.zod-D1NCePFb.js';

/**
 * Data Engine Protocol
 *
 * Defines the standard interface for data persistence engines in ObjectStack.
 * This protocol abstracts the underlying storage mechanism (SQL, NoSQL, API, Memory),
 * allowing the ObjectQL engine to execute standardized CRUD and Aggregation operations
 * regardless of where the data resides.
 *
 * The Data Engine acts as the "Driver" layer in the Hexagonal Architecture.
 */
/**
 * Data Engine Query filter conditions
 * Supports simple key-value map or complex Logic/Field expressions (DSL)
 */
declare const DataEngineFilterSchema: z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>;
/**
 * Sort order definition
 * Supports:
 * - { name: 'asc' }
 * - { name: 1 }
 * - [{ field: 'name', order: 'asc' }]
 */
declare const DataEngineSortSchema: z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
    asc: "asc";
    desc: "desc";
}>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
    field: z.ZodString;
    order: z.ZodDefault<z.ZodEnum<{
        asc: "asc";
        desc: "desc";
    }>>;
}, z.core.$strip>>]>;
/**
 * Base Engine Options
 *
 * All Data Engine operation options extend this schema to carry
 * an optional ExecutionContext for identity, tenant, and transaction propagation.
 */
declare const BaseEngineOptionsSchema: z.ZodObject<{
    context: z.ZodOptional<z.ZodObject<{
        userId: z.ZodOptional<z.ZodString>;
        tenantId: z.ZodOptional<z.ZodString>;
        roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
        permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
        isSystem: z.ZodDefault<z.ZodBoolean>;
        accessToken: z.ZodOptional<z.ZodString>;
        transaction: z.ZodOptional<z.ZodUnknown>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const DataEngineQueryOptionsSchema: z.ZodObject<{
    context: z.ZodOptional<z.ZodObject<{
        userId: z.ZodOptional<z.ZodString>;
        tenantId: z.ZodOptional<z.ZodString>;
        roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
        permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
        isSystem: z.ZodDefault<z.ZodBoolean>;
        accessToken: z.ZodOptional<z.ZodString>;
        transaction: z.ZodOptional<z.ZodUnknown>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
    select: z.ZodOptional<z.ZodArray<z.ZodString>>;
    sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
        asc: "asc";
        desc: "desc";
    }>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
        field: z.ZodString;
        order: z.ZodDefault<z.ZodEnum<{
            asc: "asc";
            desc: "desc";
        }>>;
    }, z.core.$strip>>]>>;
    limit: z.ZodOptional<z.ZodNumber>;
    skip: z.ZodOptional<z.ZodNumber>;
    top: z.ZodOptional<z.ZodNumber>;
    populate: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
declare const DataEngineInsertOptionsSchema: z.ZodObject<{
    context: z.ZodOptional<z.ZodObject<{
        userId: z.ZodOptional<z.ZodString>;
        tenantId: z.ZodOptional<z.ZodString>;
        roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
        permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
        isSystem: z.ZodDefault<z.ZodBoolean>;
        accessToken: z.ZodOptional<z.ZodString>;
        transaction: z.ZodOptional<z.ZodUnknown>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>;
declare const DataEngineUpdateOptionsSchema: z.ZodObject<{
    context: z.ZodOptional<z.ZodObject<{
        userId: z.ZodOptional<z.ZodString>;
        tenantId: z.ZodOptional<z.ZodString>;
        roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
        permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
        isSystem: z.ZodDefault<z.ZodBoolean>;
        accessToken: z.ZodOptional<z.ZodString>;
        transaction: z.ZodOptional<z.ZodUnknown>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
    upsert: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>;
declare const DataEngineDeleteOptionsSchema: z.ZodObject<{
    context: z.ZodOptional<z.ZodObject<{
        userId: z.ZodOptional<z.ZodString>;
        tenantId: z.ZodOptional<z.ZodString>;
        roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
        permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
        isSystem: z.ZodDefault<z.ZodBoolean>;
        accessToken: z.ZodOptional<z.ZodString>;
        transaction: z.ZodOptional<z.ZodUnknown>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
    multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>;
declare const DataEngineAggregateOptionsSchema: z.ZodObject<{
    context: z.ZodOptional<z.ZodObject<{
        userId: z.ZodOptional<z.ZodString>;
        tenantId: z.ZodOptional<z.ZodString>;
        roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
        permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
        isSystem: z.ZodDefault<z.ZodBoolean>;
        accessToken: z.ZodOptional<z.ZodString>;
        transaction: z.ZodOptional<z.ZodUnknown>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
    groupBy: z.ZodOptional<z.ZodArray<z.ZodString>>;
    aggregations: z.ZodOptional<z.ZodArray<z.ZodObject<{
        field: z.ZodString;
        method: z.ZodEnum<{
            count: "count";
            sum: "sum";
            avg: "avg";
            min: "min";
            max: "max";
            count_distinct: "count_distinct";
        }>;
        alias: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
declare const DataEngineCountOptionsSchema: z.ZodObject<{
    context: z.ZodOptional<z.ZodObject<{
        userId: z.ZodOptional<z.ZodString>;
        tenantId: z.ZodOptional<z.ZodString>;
        roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
        permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
        isSystem: z.ZodDefault<z.ZodBoolean>;
        accessToken: z.ZodOptional<z.ZodString>;
        transaction: z.ZodOptional<z.ZodUnknown>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
}, z.core.$strip>;
declare const DataEngineContractSchema: z.ZodObject<{
    find: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        select: z.ZodOptional<z.ZodArray<z.ZodString>>;
        sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
            asc: "asc";
            desc: "desc";
        }>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            order: z.ZodDefault<z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>>;
        }, z.core.$strip>>]>>;
        limit: z.ZodOptional<z.ZodNumber>;
        skip: z.ZodOptional<z.ZodNumber>;
        top: z.ZodOptional<z.ZodNumber>;
        populate: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodArray<z.ZodUnknown>>>;
    findOne: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        select: z.ZodOptional<z.ZodArray<z.ZodString>>;
        sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
            asc: "asc";
            desc: "desc";
        }>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            order: z.ZodDefault<z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>>;
        }, z.core.$strip>>]>>;
        limit: z.ZodOptional<z.ZodNumber>;
        skip: z.ZodOptional<z.ZodNumber>;
        top: z.ZodOptional<z.ZodNumber>;
        populate: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodUnknown>>;
    insert: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>, z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodUnknown>>;
    update: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        upsert: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodUnknown>>;
    delete: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodUnknown>>;
    count: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodNumber>>;
    aggregate: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        groupBy: z.ZodOptional<z.ZodArray<z.ZodString>>;
        aggregations: z.ZodOptional<z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            method: z.ZodEnum<{
                count: "count";
                sum: "sum";
                avg: "avg";
                min: "min";
                max: "max";
                count_distinct: "count_distinct";
            }>;
            alias: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
    }, z.core.$strip>], null>, z.ZodPromise<z.ZodArray<z.ZodUnknown>>>;
}, z.core.$strip>;
/**
 * Data Engine RPC Request (Virtual ObjectQL)
 *
 * This schema defines the serialized format for executing Data Engine operations
 * via HTTP, Message Queue, or Plugin boundaries.
 *
 * It enables "Virtual Data Engines" where the implementation resides in a
 * separate microservice or plugin.
 */
declare const DataEngineFindRequestSchema: z.ZodObject<{
    method: z.ZodLiteral<"find">;
    object: z.ZodString;
    query: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        select: z.ZodOptional<z.ZodArray<z.ZodString>>;
        sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
            asc: "asc";
            desc: "desc";
        }>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            order: z.ZodDefault<z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>>;
        }, z.core.$strip>>]>>;
        limit: z.ZodOptional<z.ZodNumber>;
        skip: z.ZodOptional<z.ZodNumber>;
        top: z.ZodOptional<z.ZodNumber>;
        populate: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const DataEngineFindOneRequestSchema: z.ZodObject<{
    method: z.ZodLiteral<"findOne">;
    object: z.ZodString;
    query: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        select: z.ZodOptional<z.ZodArray<z.ZodString>>;
        sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
            asc: "asc";
            desc: "desc";
        }>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            order: z.ZodDefault<z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>>;
        }, z.core.$strip>>]>>;
        limit: z.ZodOptional<z.ZodNumber>;
        skip: z.ZodOptional<z.ZodNumber>;
        top: z.ZodOptional<z.ZodNumber>;
        populate: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const DataEngineInsertRequestSchema: z.ZodObject<{
    method: z.ZodLiteral<"insert">;
    object: z.ZodString;
    data: z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>;
    options: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const DataEngineUpdateRequestSchema: z.ZodObject<{
    method: z.ZodLiteral<"update">;
    object: z.ZodString;
    data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
    options: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        upsert: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const DataEngineDeleteRequestSchema: z.ZodObject<{
    method: z.ZodLiteral<"delete">;
    object: z.ZodString;
    id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
    options: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const DataEngineCountRequestSchema: z.ZodObject<{
    method: z.ZodLiteral<"count">;
    object: z.ZodString;
    query: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const DataEngineAggregateRequestSchema: z.ZodObject<{
    method: z.ZodLiteral<"aggregate">;
    object: z.ZodString;
    query: z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        groupBy: z.ZodOptional<z.ZodArray<z.ZodString>>;
        aggregations: z.ZodOptional<z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            method: z.ZodEnum<{
                count: "count";
                sum: "sum";
                avg: "avg";
                min: "min";
                max: "max";
                count_distinct: "count_distinct";
            }>;
            alias: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
    }, z.core.$strip>;
}, z.core.$strip>;
/**
 * Data Engine Execute Request (Raw Command)
 * Execute a raw command/query native to the driver (e.g. SQL, Shell, Remote API).
 */
declare const DataEngineExecuteRequestSchema: z.ZodObject<{
    method: z.ZodLiteral<"execute">;
    command: z.ZodUnknown;
    options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>;
/**
 * Data Engine Vector Find Request (AI/RAG)
 * Perform a similarity search using vector embeddings.
 */
declare const DataEngineVectorFindRequestSchema: z.ZodObject<{
    method: z.ZodLiteral<"vectorFind">;
    object: z.ZodString;
    vector: z.ZodArray<z.ZodNumber>;
    filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
    select: z.ZodOptional<z.ZodArray<z.ZodString>>;
    limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    threshold: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
/**
 * Data Engine Batch Request
 * Execute multiple operations in a single transaction/request efficiently.
 */
declare const DataEngineBatchRequestSchema: z.ZodObject<{
    method: z.ZodLiteral<"batch">;
    requests: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        method: z.ZodLiteral<"find">;
        object: z.ZodString;
        query: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
            select: z.ZodOptional<z.ZodArray<z.ZodString>>;
            sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                order: z.ZodDefault<z.ZodEnum<{
                    asc: "asc";
                    desc: "desc";
                }>>;
            }, z.core.$strip>>]>>;
            limit: z.ZodOptional<z.ZodNumber>;
            skip: z.ZodOptional<z.ZodNumber>;
            top: z.ZodOptional<z.ZodNumber>;
            populate: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"findOne">;
        object: z.ZodString;
        query: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
            select: z.ZodOptional<z.ZodArray<z.ZodString>>;
            sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                order: z.ZodDefault<z.ZodEnum<{
                    asc: "asc";
                    desc: "desc";
                }>>;
            }, z.core.$strip>>]>>;
            limit: z.ZodOptional<z.ZodNumber>;
            skip: z.ZodOptional<z.ZodNumber>;
            top: z.ZodOptional<z.ZodNumber>;
            populate: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"insert">;
        object: z.ZodString;
        data: z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>;
        options: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"update">;
        object: z.ZodString;
        data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
        options: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
            upsert: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
            multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
            returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"delete">;
        object: z.ZodString;
        id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
        options: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
            multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"count">;
        object: z.ZodString;
        query: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"aggregate">;
        object: z.ZodString;
        query: z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
            groupBy: z.ZodOptional<z.ZodArray<z.ZodString>>;
            aggregations: z.ZodOptional<z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                method: z.ZodEnum<{
                    count: "count";
                    sum: "sum";
                    avg: "avg";
                    min: "min";
                    max: "max";
                    count_distinct: "count_distinct";
                }>;
                alias: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>>;
        }, z.core.$strip>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"execute">;
        command: z.ZodUnknown;
        options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"vectorFind">;
        object: z.ZodString;
        vector: z.ZodArray<z.ZodNumber>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        select: z.ZodOptional<z.ZodArray<z.ZodString>>;
        limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
        threshold: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>], "method">>;
    transaction: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>;
/**
 * Unified Data Engine Request Union
 * Use this to validate any incoming "Virtual ObjectQL" request.
 */
declare const DataEngineRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    method: z.ZodLiteral<"find">;
    object: z.ZodString;
    query: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        select: z.ZodOptional<z.ZodArray<z.ZodString>>;
        sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
            asc: "asc";
            desc: "desc";
        }>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            order: z.ZodDefault<z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>>;
        }, z.core.$strip>>]>>;
        limit: z.ZodOptional<z.ZodNumber>;
        skip: z.ZodOptional<z.ZodNumber>;
        top: z.ZodOptional<z.ZodNumber>;
        populate: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
    method: z.ZodLiteral<"findOne">;
    object: z.ZodString;
    query: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        select: z.ZodOptional<z.ZodArray<z.ZodString>>;
        sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
            asc: "asc";
            desc: "desc";
        }>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            order: z.ZodDefault<z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>>;
        }, z.core.$strip>>]>>;
        limit: z.ZodOptional<z.ZodNumber>;
        skip: z.ZodOptional<z.ZodNumber>;
        top: z.ZodOptional<z.ZodNumber>;
        populate: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
    method: z.ZodLiteral<"insert">;
    object: z.ZodString;
    data: z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>;
    options: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
    method: z.ZodLiteral<"update">;
    object: z.ZodString;
    data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
    options: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        upsert: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
    method: z.ZodLiteral<"delete">;
    object: z.ZodString;
    id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
    options: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
    method: z.ZodLiteral<"count">;
    object: z.ZodString;
    query: z.ZodOptional<z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
    }, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
    method: z.ZodLiteral<"aggregate">;
    object: z.ZodString;
    query: z.ZodObject<{
        context: z.ZodOptional<z.ZodObject<{
            userId: z.ZodOptional<z.ZodString>;
            tenantId: z.ZodOptional<z.ZodString>;
            roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
            permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
            isSystem: z.ZodDefault<z.ZodBoolean>;
            accessToken: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodUnknown>;
            traceId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        groupBy: z.ZodOptional<z.ZodArray<z.ZodString>>;
        aggregations: z.ZodOptional<z.ZodArray<z.ZodObject<{
            field: z.ZodString;
            method: z.ZodEnum<{
                count: "count";
                sum: "sum";
                avg: "avg";
                min: "min";
                max: "max";
                count_distinct: "count_distinct";
            }>;
            alias: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
    }, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
    method: z.ZodLiteral<"batch">;
    requests: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        method: z.ZodLiteral<"find">;
        object: z.ZodString;
        query: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
            select: z.ZodOptional<z.ZodArray<z.ZodString>>;
            sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                order: z.ZodDefault<z.ZodEnum<{
                    asc: "asc";
                    desc: "desc";
                }>>;
            }, z.core.$strip>>]>>;
            limit: z.ZodOptional<z.ZodNumber>;
            skip: z.ZodOptional<z.ZodNumber>;
            top: z.ZodOptional<z.ZodNumber>;
            populate: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"findOne">;
        object: z.ZodString;
        query: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
            select: z.ZodOptional<z.ZodArray<z.ZodString>>;
            sort: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodEnum<{
                asc: "asc";
                desc: "desc";
            }>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<-1>]>>, z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                order: z.ZodDefault<z.ZodEnum<{
                    asc: "asc";
                    desc: "desc";
                }>>;
            }, z.core.$strip>>]>>;
            limit: z.ZodOptional<z.ZodNumber>;
            skip: z.ZodOptional<z.ZodNumber>;
            top: z.ZodOptional<z.ZodNumber>;
            populate: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"insert">;
        object: z.ZodString;
        data: z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>;
        options: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"update">;
        object: z.ZodString;
        data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
        options: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
            upsert: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
            multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
            returning: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"delete">;
        object: z.ZodString;
        id: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
        options: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
            multi: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"count">;
        object: z.ZodString;
        query: z.ZodOptional<z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"aggregate">;
        object: z.ZodString;
        query: z.ZodObject<{
            context: z.ZodOptional<z.ZodObject<{
                userId: z.ZodOptional<z.ZodString>;
                tenantId: z.ZodOptional<z.ZodString>;
                roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
                permissions: z.ZodDefault<z.ZodArray<z.ZodString>>;
                isSystem: z.ZodDefault<z.ZodBoolean>;
                accessToken: z.ZodOptional<z.ZodString>;
                transaction: z.ZodOptional<z.ZodUnknown>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
            groupBy: z.ZodOptional<z.ZodArray<z.ZodString>>;
            aggregations: z.ZodOptional<z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                method: z.ZodEnum<{
                    count: "count";
                    sum: "sum";
                    avg: "avg";
                    min: "min";
                    max: "max";
                    count_distinct: "count_distinct";
                }>;
                alias: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>>;
        }, z.core.$strip>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"execute">;
        command: z.ZodUnknown;
        options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$strip>, z.ZodObject<{
        method: z.ZodLiteral<"vectorFind">;
        object: z.ZodString;
        vector: z.ZodArray<z.ZodNumber>;
        filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
        select: z.ZodOptional<z.ZodArray<z.ZodString>>;
        limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
        threshold: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>], "method">>;
    transaction: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>, z.ZodObject<{
    method: z.ZodLiteral<"execute">;
    command: z.ZodUnknown;
    options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>, z.ZodObject<{
    method: z.ZodLiteral<"vectorFind">;
    object: z.ZodString;
    vector: z.ZodArray<z.ZodNumber>;
    filter: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodType<FilterCondition, unknown, z.core.$ZodTypeInternals<FilterCondition, unknown>>]>>;
    select: z.ZodOptional<z.ZodArray<z.ZodString>>;
    limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    threshold: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>], "method">;
type DataEngineFilter = z.infer<typeof DataEngineFilterSchema>;
type DataEngineSort = z.infer<typeof DataEngineSortSchema>;
type BaseEngineOptions = z.infer<typeof BaseEngineOptionsSchema>;
type DataEngineQueryOptions = z.infer<typeof DataEngineQueryOptionsSchema>;
type DataEngineInsertOptions = z.infer<typeof DataEngineInsertOptionsSchema>;
type DataEngineUpdateOptions = z.infer<typeof DataEngineUpdateOptionsSchema>;
type DataEngineDeleteOptions = z.infer<typeof DataEngineDeleteOptionsSchema>;
type DataEngineAggregateOptions = z.infer<typeof DataEngineAggregateOptionsSchema>;
type DataEngineCountOptions = z.infer<typeof DataEngineCountOptionsSchema>;
type DataEngineRequest = z.infer<typeof DataEngineRequestSchema>;

/**
 * Common Driver Options
 * Passed to most driver methods to control behavior (transactions, timeouts, etc.)
 */
declare const DriverOptionsSchema: z.ZodObject<{
    transaction: z.ZodOptional<z.ZodUnknown>;
    timeout: z.ZodOptional<z.ZodNumber>;
    skipCache: z.ZodOptional<z.ZodBoolean>;
    traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    tenantId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Driver Capabilities Schema
 *
 * Defines what features a database driver supports.
 * This allows ObjectQL to adapt its behavior based on underlying database capabilities.
 * Enhanced with granular capability flags for better feature detection.
 */
declare const DriverCapabilitiesSchema: z.ZodObject<{
    create: z.ZodDefault<z.ZodBoolean>;
    read: z.ZodDefault<z.ZodBoolean>;
    update: z.ZodDefault<z.ZodBoolean>;
    delete: z.ZodDefault<z.ZodBoolean>;
    bulkCreate: z.ZodDefault<z.ZodBoolean>;
    bulkUpdate: z.ZodDefault<z.ZodBoolean>;
    bulkDelete: z.ZodDefault<z.ZodBoolean>;
    transactions: z.ZodDefault<z.ZodBoolean>;
    savepoints: z.ZodDefault<z.ZodBoolean>;
    isolationLevels: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        read_uncommitted: "read_uncommitted";
        read_committed: "read_committed";
        repeatable_read: "repeatable_read";
        serializable: "serializable";
        snapshot: "snapshot";
    }>>>;
    queryFilters: z.ZodDefault<z.ZodBoolean>;
    queryAggregations: z.ZodDefault<z.ZodBoolean>;
    querySorting: z.ZodDefault<z.ZodBoolean>;
    queryPagination: z.ZodDefault<z.ZodBoolean>;
    queryWindowFunctions: z.ZodDefault<z.ZodBoolean>;
    querySubqueries: z.ZodDefault<z.ZodBoolean>;
    queryCTE: z.ZodDefault<z.ZodBoolean>;
    joins: z.ZodDefault<z.ZodBoolean>;
    fullTextSearch: z.ZodDefault<z.ZodBoolean>;
    jsonQuery: z.ZodDefault<z.ZodBoolean>;
    geospatialQuery: z.ZodDefault<z.ZodBoolean>;
    streaming: z.ZodDefault<z.ZodBoolean>;
    jsonFields: z.ZodDefault<z.ZodBoolean>;
    arrayFields: z.ZodDefault<z.ZodBoolean>;
    vectorSearch: z.ZodDefault<z.ZodBoolean>;
    schemaSync: z.ZodDefault<z.ZodBoolean>;
    migrations: z.ZodDefault<z.ZodBoolean>;
    indexes: z.ZodDefault<z.ZodBoolean>;
    connectionPooling: z.ZodDefault<z.ZodBoolean>;
    preparedStatements: z.ZodDefault<z.ZodBoolean>;
    queryCache: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
/**
 * Unified Database Driver Interface
 *
 * This is the contract that all storage adapters (Postgres, Mongo, Excel, Salesforce) must implement.
 * It abstracts the underlying engine, enabling ObjectStack to be "Database Agnostic".
 */
declare const DriverInterfaceSchema: z.ZodObject<{
    name: z.ZodString;
    version: z.ZodString;
    supports: z.ZodObject<{
        create: z.ZodDefault<z.ZodBoolean>;
        read: z.ZodDefault<z.ZodBoolean>;
        update: z.ZodDefault<z.ZodBoolean>;
        delete: z.ZodDefault<z.ZodBoolean>;
        bulkCreate: z.ZodDefault<z.ZodBoolean>;
        bulkUpdate: z.ZodDefault<z.ZodBoolean>;
        bulkDelete: z.ZodDefault<z.ZodBoolean>;
        transactions: z.ZodDefault<z.ZodBoolean>;
        savepoints: z.ZodDefault<z.ZodBoolean>;
        isolationLevels: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            read_uncommitted: "read_uncommitted";
            read_committed: "read_committed";
            repeatable_read: "repeatable_read";
            serializable: "serializable";
            snapshot: "snapshot";
        }>>>;
        queryFilters: z.ZodDefault<z.ZodBoolean>;
        queryAggregations: z.ZodDefault<z.ZodBoolean>;
        querySorting: z.ZodDefault<z.ZodBoolean>;
        queryPagination: z.ZodDefault<z.ZodBoolean>;
        queryWindowFunctions: z.ZodDefault<z.ZodBoolean>;
        querySubqueries: z.ZodDefault<z.ZodBoolean>;
        queryCTE: z.ZodDefault<z.ZodBoolean>;
        joins: z.ZodDefault<z.ZodBoolean>;
        fullTextSearch: z.ZodDefault<z.ZodBoolean>;
        jsonQuery: z.ZodDefault<z.ZodBoolean>;
        geospatialQuery: z.ZodDefault<z.ZodBoolean>;
        streaming: z.ZodDefault<z.ZodBoolean>;
        jsonFields: z.ZodDefault<z.ZodBoolean>;
        arrayFields: z.ZodDefault<z.ZodBoolean>;
        vectorSearch: z.ZodDefault<z.ZodBoolean>;
        schemaSync: z.ZodDefault<z.ZodBoolean>;
        migrations: z.ZodDefault<z.ZodBoolean>;
        indexes: z.ZodDefault<z.ZodBoolean>;
        connectionPooling: z.ZodDefault<z.ZodBoolean>;
        preparedStatements: z.ZodDefault<z.ZodBoolean>;
        queryCache: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>;
    connect: z.ZodFunction<z.ZodTuple<[], null>, z.ZodPromise<z.ZodVoid>>;
    disconnect: z.ZodFunction<z.ZodTuple<[], null>, z.ZodPromise<z.ZodVoid>>;
    checkHealth: z.ZodFunction<z.ZodTuple<[], null>, z.ZodPromise<z.ZodBoolean>>;
    getPoolStats: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], null>, z.ZodOptional<z.ZodObject<{
        total: z.ZodNumber;
        idle: z.ZodNumber;
        active: z.ZodNumber;
        waiting: z.ZodNumber;
    }, z.core.$strip>>>>;
    execute: z.ZodFunction<z.ZodTuple<[z.ZodUnknown, z.ZodOptional<z.ZodArray<z.ZodUnknown>>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodUnknown>>;
    find: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodType<QueryAST, unknown, z.core.$ZodTypeInternals<QueryAST, unknown>>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
    findStream: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodType<QueryAST, unknown, z.core.$ZodTypeInternals<QueryAST, unknown>>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodUnknown>;
    findOne: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodType<QueryAST, unknown, z.core.$ZodTypeInternals<QueryAST, unknown>>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
    create: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    update: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    upsert: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodOptional<z.ZodArray<z.ZodString>>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    delete: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodBoolean>>;
    count: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodOptional<z.ZodType<QueryAST, unknown, z.core.$ZodTypeInternals<QueryAST, unknown>>>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodNumber>>;
    bulkCreate: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
    bulkUpdate: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodArray<z.ZodObject<{
        id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
        data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    }, z.core.$strip>>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
    bulkDelete: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodVoid>>;
    updateMany: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodType<QueryAST, unknown, z.core.$ZodTypeInternals<QueryAST, unknown>>, z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodNumber>>>;
    deleteMany: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodType<QueryAST, unknown, z.core.$ZodTypeInternals<QueryAST, unknown>>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodNumber>>>;
    beginTransaction: z.ZodFunction<z.ZodTuple<[z.ZodOptional<z.ZodObject<{
        isolationLevel: z.ZodOptional<z.ZodEnum<{
            read_uncommitted: "read_uncommitted";
            read_committed: "read_committed";
            repeatable_read: "repeatable_read";
            serializable: "serializable";
            snapshot: "snapshot";
        }>>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodUnknown>>;
    commit: z.ZodFunction<z.ZodTuple<[z.ZodUnknown], null>, z.ZodPromise<z.ZodVoid>>;
    rollback: z.ZodFunction<z.ZodTuple<[z.ZodUnknown], null>, z.ZodPromise<z.ZodVoid>>;
    syncSchema: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodUnknown, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodVoid>>;
    dropTable: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodVoid>>;
    explain: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodType<QueryAST, unknown, z.core.$ZodTypeInternals<QueryAST, unknown>>, z.ZodOptional<z.ZodObject<{
        transaction: z.ZodOptional<z.ZodUnknown>;
        timeout: z.ZodOptional<z.ZodNumber>;
        skipCache: z.ZodOptional<z.ZodBoolean>;
        traceContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tenantId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>], null>, z.ZodPromise<z.ZodUnknown>>>;
}, z.core.$strip>;
/**
 * Connection Pool Configuration Schema
 * Manages database connection pooling for performance
 */
declare const PoolConfigSchema: z.ZodObject<{
    min: z.ZodDefault<z.ZodNumber>;
    max: z.ZodDefault<z.ZodNumber>;
    idleTimeoutMillis: z.ZodDefault<z.ZodNumber>;
    connectionTimeoutMillis: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
/**
 * Driver Configuration Schema
 * Base configuration for database drivers
 */
declare const DriverConfigSchema: z.ZodObject<{
    name: z.ZodString;
    type: z.ZodEnum<{
        search: "search";
        sql: "sql";
        nosql: "nosql";
        cache: "cache";
        graph: "graph";
        timeseries: "timeseries";
    }>;
    capabilities: z.ZodObject<{
        create: z.ZodDefault<z.ZodBoolean>;
        read: z.ZodDefault<z.ZodBoolean>;
        update: z.ZodDefault<z.ZodBoolean>;
        delete: z.ZodDefault<z.ZodBoolean>;
        bulkCreate: z.ZodDefault<z.ZodBoolean>;
        bulkUpdate: z.ZodDefault<z.ZodBoolean>;
        bulkDelete: z.ZodDefault<z.ZodBoolean>;
        transactions: z.ZodDefault<z.ZodBoolean>;
        savepoints: z.ZodDefault<z.ZodBoolean>;
        isolationLevels: z.ZodOptional<z.ZodArray<z.ZodEnum<{
            read_uncommitted: "read_uncommitted";
            read_committed: "read_committed";
            repeatable_read: "repeatable_read";
            serializable: "serializable";
            snapshot: "snapshot";
        }>>>;
        queryFilters: z.ZodDefault<z.ZodBoolean>;
        queryAggregations: z.ZodDefault<z.ZodBoolean>;
        querySorting: z.ZodDefault<z.ZodBoolean>;
        queryPagination: z.ZodDefault<z.ZodBoolean>;
        queryWindowFunctions: z.ZodDefault<z.ZodBoolean>;
        querySubqueries: z.ZodDefault<z.ZodBoolean>;
        queryCTE: z.ZodDefault<z.ZodBoolean>;
        joins: z.ZodDefault<z.ZodBoolean>;
        fullTextSearch: z.ZodDefault<z.ZodBoolean>;
        jsonQuery: z.ZodDefault<z.ZodBoolean>;
        geospatialQuery: z.ZodDefault<z.ZodBoolean>;
        streaming: z.ZodDefault<z.ZodBoolean>;
        jsonFields: z.ZodDefault<z.ZodBoolean>;
        arrayFields: z.ZodDefault<z.ZodBoolean>;
        vectorSearch: z.ZodDefault<z.ZodBoolean>;
        schemaSync: z.ZodDefault<z.ZodBoolean>;
        migrations: z.ZodDefault<z.ZodBoolean>;
        indexes: z.ZodDefault<z.ZodBoolean>;
        connectionPooling: z.ZodDefault<z.ZodBoolean>;
        preparedStatements: z.ZodDefault<z.ZodBoolean>;
        queryCache: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>;
    connectionString: z.ZodOptional<z.ZodString>;
    poolConfig: z.ZodOptional<z.ZodObject<{
        min: z.ZodDefault<z.ZodNumber>;
        max: z.ZodDefault<z.ZodNumber>;
        idleTimeoutMillis: z.ZodDefault<z.ZodNumber>;
        connectionTimeoutMillis: z.ZodDefault<z.ZodNumber>;
    }, z.core.$strip>>;
}, z.core.$strip>;
/**
 * TypeScript types
 */
type DriverOptions = z.infer<typeof DriverOptionsSchema>;
type DriverCapabilities = z.infer<typeof DriverCapabilitiesSchema>;
type DriverInterface = z.infer<typeof DriverInterfaceSchema>;
type DriverConfig = z.infer<typeof DriverConfigSchema>;
type PoolConfig = z.infer<typeof PoolConfigSchema>;

export { type DataEngineSort as A, type BaseEngineOptions as B, DataEngineSortSchema as C, type DataEngineQueryOptions as D, DataEngineUpdateOptionsSchema as E, DataEngineUpdateRequestSchema as F, DataEngineVectorFindRequestSchema as G, DriverCapabilitiesSchema as H, type DriverConfig as I, DriverConfigSchema as J, type DriverInterface as K, DriverInterfaceSchema as L, DriverOptionsSchema as M, PoolConfigSchema as N, type PoolConfig as P, type DataEngineInsertOptions as a, type DataEngineUpdateOptions as b, type DataEngineDeleteOptions as c, type DataEngineCountOptions as d, type DataEngineAggregateOptions as e, type DataEngineRequest as f, type DriverOptions as g, type DriverCapabilities as h, BaseEngineOptionsSchema as i, DataEngineAggregateOptionsSchema as j, DataEngineAggregateRequestSchema as k, DataEngineBatchRequestSchema as l, DataEngineContractSchema as m, DataEngineCountOptionsSchema as n, DataEngineCountRequestSchema as o, DataEngineDeleteOptionsSchema as p, DataEngineDeleteRequestSchema as q, DataEngineExecuteRequestSchema as r, type DataEngineFilter as s, DataEngineFilterSchema as t, DataEngineFindOneRequestSchema as u, DataEngineFindRequestSchema as v, DataEngineInsertOptionsSchema as w, DataEngineInsertRequestSchema as x, DataEngineQueryOptionsSchema as y, DataEngineRequestSchema as z };
