import type { PGParser } from '../parsers'; import type { PGSerialize } from '../serializers'; import type { PGArray } from './array'; /** A parsed PostgreSQL `range` */ export interface PGRange { readonly lower: T | null; readonly upper: T | null; readonly mask: number; hasMask(flags: number): boolean; isBounded(): boolean; isEmpty(): boolean; isLowerBoundClosed(): boolean; isUpperBoundClosed(): boolean; hasLowerBound(): boolean; hasUpperBound(): boolean; containsPoint(point: T): boolean; containsRange(range: PGRange): boolean; toPostgres(serialize: PGSerialize): string; } /** Constructor (with static constants) for {@link PGRange} */ export interface PGRangeConstructor { new (lower: T | null, upper: T | null, flags: number): PGRange; readonly RANGE_EMPTY: number; readonly RANGE_LB_INC: number; readonly RANGE_UB_INC: number; readonly RANGE_LB_INF: number; readonly RANGE_UB_INF: number; } /** A parsed PostgreSQL `range` */ export declare const PGRange: PGRangeConstructor; /** Parse a PostgreSQL `range` */ export declare function parseRange(value: string): PGRange; /** Parse a PostgreSQL `range` */ export declare function parseRange(value: string, parser: PGParser): PGRange; /** Parse a PostgreSQL `range` of _integers_ */ export declare const parseIntRange: PGParser>; /** Parse a PostgreSQL `range` of _floats_ */ export declare const parseFloatRange: PGParser>; /** Parse a PostgreSQL `range` of _big integers_ */ export declare const parseBigintRange: PGParser>; /** Parse a PostgreSQL `range` of _timestamps_ */ export declare const parseTimestampRange: PGParser>; /** Parse a PostgreSQL `range` of _timestamps with time zone_ */ export declare const parseTimestampTzRange: PGParser>; /** Parse an array of PostgreSQL `range` of _strings_ */ export declare const parseRangeArray: PGParser>>; /** Parse an array of PostgreSQL `range` of _integers_ */ export declare const parseIntRangeArray: PGParser>>; /** Parse an array of PostgreSQL `range` of _floats_ */ export declare const parseFloatRangeArray: PGParser>>; /** Parse an array of PostgreSQL `range` of _big integers_ */ export declare const parseBigintRangeArray: PGParser>>; /** Parse an array of PostgreSQL `range` of _timestamps_ */ export declare const parseTimestampRangeArray: PGParser>>; /** Parse an array of PostgreSQL `range` of _timestamps with time zone_ */ export declare const parseTimestampTzRangeArray: PGParser>>;