/**
 * Custom PostgreSQL range types for Drizzle ORM
 * Matches Sequelize's RANGE(DataTypes.XXX) functionality
 */
export interface Range<T> {
    lower: T;
    upper: T;
    lowerInclusive?: boolean;
    upperInclusive?: boolean;
}
/**
 * Integer range type
 * Usage: rangeInteger('age_range')
 */
export declare const rangeInteger: (name: string) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
    name: string;
    dataType: "custom";
    columnType: "PgCustomColumn";
    data: Range<number>;
    driverParam: string;
    enumValues: undefined;
    generated: undefined;
}>;
/**
 * Big integer range type
 * Usage: rangeBigInt('large_range')
 */
export declare const rangeBigInt: (name: string) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
    name: string;
    dataType: "custom";
    columnType: "PgCustomColumn";
    data: Range<bigint>;
    driverParam: string;
    enumValues: undefined;
    generated: undefined;
}>;
/**
 * Numeric/decimal range type
 * Usage: rangeDecimal('price_range')
 */
export declare const rangeDecimal: (name: string) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
    name: string;
    dataType: "custom";
    columnType: "PgCustomColumn";
    data: Range<number>;
    driverParam: string;
    enumValues: undefined;
    generated: undefined;
}>;
/**
 * Date range type (no time)
 * Usage: rangeDate('event_period')
 */
export declare const rangeDate: (name: string) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
    name: string;
    dataType: "custom";
    columnType: "PgCustomColumn";
    data: Range<string | Date>;
    driverParam: string;
    enumValues: undefined;
    generated: undefined;
}>;
/**
 * Timestamp range type (with time)
 * Usage: rangeDateTime('booking_period')
 */
export declare const rangeDateTime: (name: string) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
    name: string;
    dataType: "custom";
    columnType: "PgCustomColumn";
    data: Range<string | Date>;
    driverParam: string;
    enumValues: undefined;
    generated: undefined;
}>;
/**
 * Timestamp with timezone range type
 * Usage: rangeDateTimeTz('schedule_range')
 */
export declare const rangeDateTimeTz: (name: string) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
    name: string;
    dataType: "custom";
    columnType: "PgCustomColumn";
    data: Range<string | Date>;
    driverParam: string;
    enumValues: undefined;
    generated: undefined;
}>;
/**
 * Double precision range type
 * Usage: rangeDouble('measurement_range')
 */
export declare const rangeDouble: (name: string) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
    name: string;
    dataType: "custom";
    columnType: "PgCustomColumn";
    data: Range<number>;
    driverParam: string;
    enumValues: undefined;
    generated: undefined;
}>;
/**
 * Time range type with timezone
 * Usage: rangeTimeTz('working_hours')
 */
export declare const rangeTimeTz: (name: string) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
    name: string;
    dataType: "custom";
    columnType: "PgCustomColumn";
    data: Range<string>;
    driverParam: string;
    enumValues: undefined;
    generated: undefined;
}>;
/**
 * Time range type without timezone (no date)
 * Usage: rangeTime('working_hours')
 */
export declare const rangeTime: (name: string) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
    name: string;
    dataType: "custom";
    columnType: "PgCustomColumn";
    data: Range<string>;
    driverParam: string;
    enumValues: undefined;
    generated: undefined;
}>;
//# sourceMappingURL=ranges.d.ts.map