import type { SqlQueryOperationTypes } from '@prisma-next/sql-contract/types'; import type { CodecExpression, Expression } from '@prisma-next/sql-relational-core/expression'; type CodecTypesBase = Record; /** * Operation type definitions for the PostGIS extension. * * These are type-only signatures consumed by emitted `contract.d.ts` * files so the query builder surfaces `.distance()`, `.dwithin()`, * `.contains()`, `.within()`, `.intersects()`, and `.intersectsBbox()` * on `geometry` columns. */ export type OperationTypes = { readonly 'pg/geometry@1': { readonly distance: { readonly self: { readonly codecId: 'pg/geometry@1' } }; readonly distanceSphere: { readonly self: { readonly codecId: 'pg/geometry@1' } }; readonly dwithin: { readonly self: { readonly codecId: 'pg/geometry@1' } }; readonly contains: { readonly self: { readonly codecId: 'pg/geometry@1' } }; readonly within: { readonly self: { readonly codecId: 'pg/geometry@1' } }; readonly intersects: { readonly self: { readonly codecId: 'pg/geometry@1' } }; readonly intersectsBbox: { readonly self: { readonly codecId: 'pg/geometry@1' } }; }; }; export type QueryOperationTypes = SqlQueryOperationTypes< CT, { readonly distance: { readonly self: { readonly codecId: 'pg/geometry@1' }; readonly impl: ( self: CodecExpression<'pg/geometry@1', boolean, CT>, other: CodecExpression<'pg/geometry@1', boolean, CT>, ) => Expression<{ codecId: 'pg/float8@1'; nullable: false }>; }; readonly distanceSphere: { readonly self: { readonly codecId: 'pg/geometry@1' }; readonly impl: ( self: CodecExpression<'pg/geometry@1', boolean, CT>, other: CodecExpression<'pg/geometry@1', boolean, CT>, ) => Expression<{ codecId: 'pg/float8@1'; nullable: false }>; }; readonly dwithin: { readonly self: { readonly codecId: 'pg/geometry@1' }; readonly impl: ( self: CodecExpression<'pg/geometry@1', boolean, CT>, other: CodecExpression<'pg/geometry@1', boolean, CT>, distance: CodecExpression<'pg/float8@1', boolean, CT>, ) => Expression<{ codecId: 'pg/bool@1'; nullable: false }>; }; readonly contains: { readonly self: { readonly codecId: 'pg/geometry@1' }; readonly impl: ( self: CodecExpression<'pg/geometry@1', boolean, CT>, other: CodecExpression<'pg/geometry@1', boolean, CT>, ) => Expression<{ codecId: 'pg/bool@1'; nullable: false }>; }; readonly within: { readonly self: { readonly codecId: 'pg/geometry@1' }; readonly impl: ( self: CodecExpression<'pg/geometry@1', boolean, CT>, other: CodecExpression<'pg/geometry@1', boolean, CT>, ) => Expression<{ codecId: 'pg/bool@1'; nullable: false }>; }; readonly intersects: { readonly self: { readonly codecId: 'pg/geometry@1' }; readonly impl: ( self: CodecExpression<'pg/geometry@1', boolean, CT>, other: CodecExpression<'pg/geometry@1', boolean, CT>, ) => Expression<{ codecId: 'pg/bool@1'; nullable: false }>; }; readonly intersectsBbox: { readonly self: { readonly codecId: 'pg/geometry@1' }; readonly impl: ( self: CodecExpression<'pg/geometry@1', boolean, CT>, other: CodecExpression<'pg/geometry@1', boolean, CT>, ) => Expression<{ codecId: 'pg/bool@1'; nullable: false }>; }; } >;