import type { ColumnBuilderBaseConfig } from "../../../column-builder.js"; import type { ColumnBaseConfig } from "../../../column.js"; import { entityKind } from "../../../entity.js"; import { type Equal } from "../../../utils.js"; import { PgColumn, PgColumnBuilder } from "../common.js"; export type PgGeometryBuilderInitial = PgGeometryBuilder<{ name: TName; dataType: 'array'; columnType: 'PgGeometry'; data: [number, number]; driverParam: string; enumValues: undefined; }>; export declare class PgGeometryBuilder> extends PgColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class PgGeometry> extends PgColumn { static readonly [entityKind]: string; getSQLType(): string; mapFromDriverValue(value: string): [number, number]; mapToDriverValue(value: [number, number]): string; } export type PgGeometryObjectBuilderInitial = PgGeometryObjectBuilder<{ name: TName; dataType: 'json'; columnType: 'PgGeometryObject'; data: { x: number; y: number; }; driverParam: string; enumValues: undefined; }>; export declare class PgGeometryObjectBuilder> extends PgColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class PgGeometryObject> extends PgColumn { static readonly [entityKind]: string; getSQLType(): string; mapFromDriverValue(value: string): { x: number; y: number; }; mapToDriverValue(value: { x: number; y: number; }): string; } export interface PgGeometryConfig { mode?: T; type?: 'point' | (string & {}); srid?: number; } export declare function geometry(): PgGeometryBuilderInitial<''>; export declare function geometry(config?: PgGeometryConfig): Equal extends true ? PgGeometryObjectBuilderInitial<''> : PgGeometryBuilderInitial<''>; export declare function geometry(name: TName, config?: PgGeometryConfig): Equal extends true ? PgGeometryObjectBuilderInitial : PgGeometryBuilderInitial;