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 PgLineBuilderInitial = PgLineBuilder<{ name: TName; dataType: 'array'; columnType: 'PgLine'; data: [number, number, number]; driverParam: number | string; enumValues: undefined; }>; export declare class PgLineBuilder> extends PgColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class PgLineTuple> extends PgColumn { static readonly [entityKind]: string; getSQLType(): string; mapFromDriverValue(value: string): [number, number, number]; mapToDriverValue(value: [number, number, number]): string; } export type PgLineABCBuilderInitial = PgLineABCBuilder<{ name: TName; dataType: 'json'; columnType: 'PgLineABC'; data: { a: number; b: number; c: number; }; driverParam: string; enumValues: undefined; }>; export declare class PgLineABCBuilder> extends PgColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name']); } export declare class PgLineABC> extends PgColumn { static readonly [entityKind]: string; getSQLType(): string; mapFromDriverValue(value: string): { a: number; b: number; c: number; }; mapToDriverValue(value: { a: number; b: number; c: number; }): string; } export interface PgLineTypeConfig { mode?: T; } export declare function line(): PgLineBuilderInitial<''>; export declare function line(config?: PgLineTypeConfig): Equal extends true ? PgLineABCBuilderInitial<''> : PgLineBuilderInitial<''>; export declare function line(name: TName, config?: PgLineTypeConfig): Equal extends true ? PgLineABCBuilderInitial : PgLineBuilderInitial;