import { z } from 'zod'; export declare const QueryFilterSchema: z.ZodObject<{ subject: z.ZodOptional; predicate: z.ZodOptional; object: z.ZodOptional; }, "strip", z.ZodTypeAny, { object?: string; subject?: string; predicate?: string; }, { object?: string; subject?: string; predicate?: string; }>; export declare const QueryOptionsSchema: z.ZodObject<{ limit: z.ZodDefault; offset: z.ZodDefault; }, "strip", z.ZodTypeAny, { limit?: number; offset?: number; }, { limit?: number; offset?: number; }>; export declare const TypedQuerySchema: z.ZodObject<{ type: z.ZodLiteral<"typed">; filter: z.ZodObject<{ subject: z.ZodOptional; predicate: z.ZodOptional; object: z.ZodOptional; }, "strip", z.ZodTypeAny, { object?: string; subject?: string; predicate?: string; }, { object?: string; subject?: string; predicate?: string; }>; options: z.ZodOptional; offset: z.ZodDefault; }, "strip", z.ZodTypeAny, { limit?: number; offset?: number; }, { limit?: number; offset?: number; }>>; }, "strip", z.ZodTypeAny, { type?: "typed"; filter?: { object?: string; subject?: string; predicate?: string; }; options?: { limit?: number; offset?: number; }; }, { type?: "typed"; filter?: { object?: string; subject?: string; predicate?: string; }; options?: { limit?: number; offset?: number; }; }>; export declare const RawQuerySchema: z.ZodObject<{ type: z.ZodLiteral<"raw">; cypher: z.ZodString; params: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type?: "raw"; params?: Record; cypher?: string; }, { type?: "raw"; params?: Record; cypher?: string; }>; export declare const QueryRequestSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"typed">; filter: z.ZodObject<{ subject: z.ZodOptional; predicate: z.ZodOptional; object: z.ZodOptional; }, "strip", z.ZodTypeAny, { object?: string; subject?: string; predicate?: string; }, { object?: string; subject?: string; predicate?: string; }>; options: z.ZodOptional; offset: z.ZodDefault; }, "strip", z.ZodTypeAny, { limit?: number; offset?: number; }, { limit?: number; offset?: number; }>>; }, "strip", z.ZodTypeAny, { type?: "typed"; filter?: { object?: string; subject?: string; predicate?: string; }; options?: { limit?: number; offset?: number; }; }, { type?: "typed"; filter?: { object?: string; subject?: string; predicate?: string; }; options?: { limit?: number; offset?: number; }; }>, z.ZodObject<{ type: z.ZodLiteral<"raw">; cypher: z.ZodString; params: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type?: "raw"; params?: Record; cypher?: string; }, { type?: "raw"; params?: Record; cypher?: string; }>]>; export type QueryFilter = z.infer; export type QueryOptions = z.infer; export type TypedQuery = z.infer; export type RawQuery = z.infer; export type QueryRequest = z.infer; export interface QueryResult { facts: Array<{ subject: string; predicate: string; object: string; properties?: Record; }>; count: number; hasMore: boolean; } /** * Convert typed query filter to SynapseDB query */ export declare function buildTypedQuery(filter: QueryFilter): { subject?: string; predicate?: string; object?: string; }; /** * Validate query request */ export declare function validateQueryRequest(request: unknown): QueryRequest;