import type { ColumnBuilderBaseConfig } from "../../column-builder.js"; import type { ColumnBaseConfig } from "../../column.js"; import { entityKind } from "../../entity.js"; import { type Writable } from "../../utils.js"; import { PgColumn, PgColumnBuilder } from "./common.js"; export type PgVarcharBuilderInitial = PgVarcharBuilder<{ name: TName; dataType: 'string'; columnType: 'PgVarchar'; data: TEnum[number]; driverParam: string; enumValues: TEnum; length: TLength; }>; export declare class PgVarcharBuilder & { length?: number | undefined; }> extends PgColumnBuilder { static readonly [entityKind]: string; constructor(name: T['name'], config: PgVarcharConfig); } export declare class PgVarchar & { length?: number | undefined; }> extends PgColumn { static readonly [entityKind]: string; readonly length: T["length"]; readonly enumValues: T["enumValues"]; getSQLType(): string; } export interface PgVarcharConfig { enum?: TEnum; length?: TLength; } export declare function varchar(): PgVarcharBuilderInitial<'', [string, ...string[]], undefined>; export declare function varchar, L extends number | undefined>(config?: PgVarcharConfig, L>): PgVarcharBuilderInitial<'', Writable, L>; export declare function varchar, L extends number | undefined>(name: TName, config?: PgVarcharConfig, L>): PgVarcharBuilderInitial, L>;