import { TDateRange } from "../../types/TDateRange.js"; import { TNumberRange } from "../../types/TNumberRange.js"; import { Type } from "../../types/Type.js"; import { SqDateValue, SqNumberValue } from "./index.js"; import { SqScale } from "./SqScale.js"; export declare function wrapDomain(value: Type): SqNumericRangeDomain | SqDateRangeDomain | SqTypeDomain; declare abstract class SqAbstractDomain { abstract tag: T; } export declare class SqNumericRangeDomain extends SqAbstractDomain<"NumericRange"> { _value: TNumberRange; tag: "NumericRange"; constructor(_value: TNumberRange); static fromMinMax(min: number, max: number): SqNumericRangeDomain; get min(): number; get max(): number; get minValue(): SqNumberValue; get maxValue(): SqNumberValue; toDefaultScale(): SqScale; } export declare class SqDateRangeDomain extends SqAbstractDomain<"DateRange"> { _value: TDateRange; tag: "DateRange"; constructor(_value: TDateRange); get min(): import("../../index.js").SDate; get max(): import("../../index.js").SDate; get minValue(): SqDateValue; get maxValue(): SqDateValue; toDefaultScale(): SqScale; } export declare class SqTypeDomain extends SqAbstractDomain<"Type"> { _value: Type; tag: "Type"; constructor(_value: Type); } export type SqDomain = ReturnType; export {}; //# sourceMappingURL=SqDomain.d.ts.map