/** * EQL-S query builders shared by every typed read adapter (React/Vue/Svelte). * * Centralised so filter encoding has one home — typed reads, live subscriptions, * and HTTP `/query` all share the same `find ?e where …` shape. * * @module trellis/schema */ /** Escape a value for inclusion in a double-quoted EQL literal. */ export declare function escapeValue(v: string): string; /** Comparison operators supported by {@link parseSimple}. */ export type WhereOp = 'eq' | 'ne' | 'lt' | 'lte' | 'gt' | 'gte' | 'contains' | 'startsWith' | 'endsWith'; /** Structured filter for one attribute (TRL-7). */ export type WhereFilter = { eq?: unknown; ne?: unknown; lt?: number | string; lte?: number | string; gt?: number | string; gte?: number | string; contains?: string; startsWith?: string; endsWith?: string; }; /** Equality shorthand or a {@link WhereFilter} object. */ export type WhereValue = unknown | WhereFilter; export declare function isWhereFilter(value: unknown): value is WhereFilter; /** Format a JS value as an EQL-S literal (quoted string, bare number, or boolean). */ export declare function formatEqlLiteral(value: unknown): string; /** * One `attr op value` fragment for `find ?e where …`. * Throws when a filter object specifies more than one operator. */ export declare function whereCondition(attr: string, value: WhereValue): string; export type WhereInput = Record; /** * `find ?e where type = "" [and …]` — entities of a type, * optionally narrowed by attribute filters (ANDed). */ export declare function entitiesQuery(type: string, where?: WhereInput): string; /** * Single-entity live subscription query (TRL-9). * Narrows the type pattern to one entity id — avoids full-type fan-out on the wire. */ export declare function entityQuery(type: string, entityId: string): string; //# sourceMappingURL=eql.d.ts.map