import type { Timezone } from 'chronoshift'; import { PlyType } from '../types'; export declare type PlywoodRange = Range; export interface PlywoodRangeJS { start: null | number | Date | string; end: null | number | Date | string; bounds?: string; } export declare abstract class Range { static DEFAULT_BOUNDS: string; static areEquivalentBounds(bounds1: string | undefined, bounds2: string | undefined): boolean; static isRange(candidate: any): candidate is PlywoodRange; static isRangeType(type: PlyType): boolean; static unwrapRangeType(type: PlyType): PlyType | null; static classMap: Record; static register(ctr: any): void; static fromJS(parameters: PlywoodRangeJS): PlywoodRange; start: T; end: T; bounds: string; constructor(start: T, end: T, bounds: string); protected _zeroEndpoint(): T; protected _endpointEqual(a: T, b: T): boolean; protected _endpointToString(a: T, _tz?: Timezone): string; protected _equalsHelper(other: Range): boolean; abstract equals(other: Range): boolean; abstract toJS(): PlywoodRangeJS; toJSON(): any; toString(tz?: Timezone): string; compare(other: Range): number; openStart(): boolean; openEnd(): boolean; empty(): boolean; degenerate(): boolean; contains(val: T | Range): boolean; protected validMemberType(val: any): boolean; containsValue(val: T): boolean; intersects(other: Range): boolean; adjacent(other: Range): boolean; mergeable(other: Range): boolean; union(other: Range): Range; extent(): Range; extend(other: Range): Range; intersect(other: Range): Range | null; abstract midpoint(): T; isFinite(): boolean; } //# sourceMappingURL=range.d.ts.map