import { B as BaseAdapter, i as User, R as Request, b as FindResult } from '../types-M2BhNVof.js'; import { j as createWebhookService } from '../WebhookService-Y-X6GgLL.js'; import '../types-C3QFX0l6.js'; interface ApiKeyContext { userId: string; user: Partial; permissions: string[]; apiKeyId: string; tenantId?: string; role?: string; } interface KyroContext { db: BaseAdapter; registry: any; user?: User; tenantId?: string; req: Request; apiKey?: ApiKeyContext; webhookService?: ReturnType; settings?: Record; [key: string]: any; } declare function createContext(options: { db: BaseAdapter; registry: any; req: Request; user?: User; tenantId?: string; settings?: Record; }): Promise; declare function createFindProcedure(ctx: KyroContext): (input: { collection: string; where?: Record; sort?: string; limit?: number; page?: number; depth?: number; select?: string[]; draft?: boolean; }) => Promise>>; declare function createFindByIDProcedure(ctx: KyroContext): (input: { collection: string; id: string; depth?: number; select?: string[]; draft?: boolean; }) => Promise>; declare function createCreateProcedure(ctx: KyroContext): (input: { collection: string; data: Record; depth?: number; select?: string[]; }) => Promise<{ doc: Record; }>; declare function createUpdateProcedure(ctx: KyroContext): (input: { collection: string; id: string; data: Record; depth?: number; select?: string[]; baseUpdatedAt?: string; }) => Promise<{ doc: Record | null; }>; declare function createDeleteProcedure(ctx: KyroContext): (input: { collection: string; id: string; }) => Promise<{ doc: Record; message: string; }>; declare function createCountProcedure(ctx: KyroContext): (input: { collection: string; where?: Record; }) => Promise<{ totalDocs: number; }>; declare function createDynamicRouter(ctx: KyroContext): Record; interface KyroRouter { [collectionSlug: string]: { find: (input: { where?: Record; sort?: string; limit?: number; page?: number; depth?: number; select?: string[]; draft?: boolean; }) => Promise<{ docs: any[]; totalDocs: number; limit: number; totalPages: number; page: number; pagingCounter: number; hasPrevPage: boolean; hasNextPage: boolean; prevPage: number | null; nextPage: number | null; }>; findByID: (input: { id: string; depth?: number; select?: string[]; draft?: boolean; }) => Promise; create: (input: { data: Record; depth?: number; select?: string[]; }) => Promise<{ doc: any; }>; update: (input: { id: string; data: Record; depth?: number; select?: string[]; baseUpdatedAt?: string; }) => Promise<{ doc: any; }>; delete: (input: { id: string; }) => Promise<{ doc: any; message: string; }>; count: (input: { where?: Record; }) => Promise<{ totalDocs: number; }>; }; } declare function createKyroServer(ctx: KyroContext): KyroRouter; export { type KyroContext, type KyroRouter, createContext, createCountProcedure, createCreateProcedure, createDeleteProcedure, createDynamicRouter, createFindByIDProcedure, createFindProcedure, createKyroServer, createUpdateProcedure };