import type { AnyEntityDefs, EntityDef, EntityDefsRef, EntityDescriptor, InferResult, SchemaDescriptor } from './types'; type ResolveEntity, TEntityName extends string> = TRef['__defs'][TEntityName] & EntityDef; export interface EntityClient, TEntityName extends string> { query>(params: { select: S; where?: ResolveEntity extends { filters: infer F; } ? F : never; limit?: number; offset?: number; orderBy?: ResolveEntity extends { orderBy: infer O; } ? O : never; }): Promise, S>[]>; querySingle>(params: { select: S; where?: ResolveEntity extends { filters: infer F; } ? F : never; offset?: number; orderBy?: ResolveEntity extends { orderBy: infer O; } ? O : never; }): Promise, S> | null>; count(params?: { where?: ResolveEntity extends { filters: infer F; } ? F : never; }): Promise; insert>(params: { values: ResolveEntity extends { insertInput: infer I; } ? I[] : never; returning?: S; }): Promise, S>[]>; insertSingle>(params: { values: ResolveEntity extends { insertInput: infer I; } ? I : never; returning?: S; }): Promise, S> | null>; update>(params: { set: ResolveEntity extends { updateInput: infer U; } ? U : never; where?: ResolveEntity extends { filters: infer F; } ? F : never; returning?: S; }): Promise, S>[]>; delete>(params: { where?: ResolveEntity extends { filters: infer F; } ? F : never; returning?: S; }): Promise, S>[]>; } export declare function createEntityClient, TEntityName extends string>(entityName: string, entityDef: EntityDescriptor, schema: SchemaDescriptor, executeGraphQL: (query: string, variables: Record) => Promise>): EntityClient; export {};