export { Context } from "#types/context.js"; export { createClient } from "#types/create-client.js"; export { execute } from "#types/execute.js"; export { getQueryCost } from "#types/get-query-cost.js"; export { injectType } from "#types/inject-type.js"; export { levenshtein } from "#types/levenshtein.js"; export { mergeRefs } from "#types/merge-refs.js"; export { PaveError } from "#types/pave-error.js"; export { validateQuery } from "#types/validate-query.js"; export { validateSchema } from "#types/validate-schema.js"; export { validateValue } from "#types/validate-value.js"; export type Recursive = T | RecursiveArray; export type RecursiveArray = Recursive[]; export type Get = undefined extends Value ? Fallback : Value; export type TypeOptions = { context?: any; extensions?: {}; input?: any; object?: any; resolvedValue?: {}; typeName?: string; value?: any; }; export type SubType = Type<{ context: O["context"]; extensions: O["extensions"]; typeName: O["typeName"]; }>; export type Type = Recursive<(O["typeName"] extends string ? O["typeName"] : never) | (({ optional: SubType; } | { nullable: SubType; } | { arrayOf: SubType; minLength?: number; maxLength?: number; } | { oneOf: { [K: string]: SubType; }; resolveType: (value: {}) => string; } | { object: { [K: string]: SubType; } | SubType[]; defaultType?: SubType; } | { input?: SubType; type?: SubType; typeInput?: any; resolve?: ((options: { context: Get; input: Get; object: Get; path: string[]; query: Query; schema: Schema; type: SubType; value: Get; }) => any) | {} | null; }) & { cost?: number | ((options: { context: Get; cost: number; input: Get; object: Get; path: string[]; query: Query; schema: Schema; type: SubType; value: Get; }) => number); defaultValue?: any; validate?: (options: { context: Get; input: Get; object: Get; path: string[]; query: Query; schema: Schema; type: SubType; value: Get; }) => any; } & Get)>; export type Schema = O["typeName"] extends string ? { [K in O["typeName"]]: SubType; } : { [K in keyof any]: never; }; export type Query = { _?: string; $?: any; _type?: { [K in keyof any]: never; }; } | { [K: string]: Query; };