import '../augmentations'; import type { GraphileConfig } from 'graphile-config'; /** * ConnectionFilterBackwardRelationsPlugin * * Adds backward relation filter fields to table filter types. * A "backward" relation is one where another table has a FK referencing the current table. * * For unique backward relations (one-to-one), a single filter field is added: * ```graphql * allClients(where: { * profileByClientId: { bio: { includes: "engineer" } } * }) { ... } * ``` * * For non-unique backward relations (one-to-many), a "many" filter type is added * with `some`, `every`, and `none` sub-fields: * ```graphql * allClients(where: { * ordersByClientId: { some: { total: { greaterThan: 1000 } } } * }) { ... } * ``` * * The SQL generated uses EXISTS subqueries: * ```sql * WHERE EXISTS ( * SELECT 1 FROM orders * WHERE orders.client_id = clients.id * AND * ) * ``` */ export declare const ConnectionFilterBackwardRelationsPlugin: GraphileConfig.Plugin;