import { AndValue, EveryValue, RangeValue, IncrementValue, NoneValue, NthWeekdayOfMonthValue, LastNthDayWeekValue, LastDayValue, LastDayWeekValue, DaysBeforeEndMonthValue, NearestWeekdayOfMonthValue } from './../values'; import { SegmentModes, ModeValues, SegmentCommonModes } from './../types'; import { Segment, Mode } from './../enums'; import { SegmentValues } from './base.type'; declare type Inputs = Partial>; export declare abstract class BaseValues { protected abstract readonly segment: T; readonly [Mode.EVERY]: EveryValue; readonly [Mode.AND]: AndValue; readonly [Mode.RANGE]: RangeValue; readonly [Mode.INCREMENT]: IncrementValue; readonly [Mode.NONE]: T extends Segment.month | Segment.dayOfMonth | Segment.dayOfWeek ? NoneValue : undefined; readonly [Mode.LAST_NTH_DAY_WEEK]: T extends Segment.dayOfWeek ? LastNthDayWeekValue : undefined; readonly [Mode.NTH_WEEKDAY_OF_MONTH]: T extends Segment.dayOfWeek ? NthWeekdayOfMonthValue : undefined; readonly [Mode.LAST_DAY]: T extends Segment.dayOfMonth ? LastDayValue : undefined; readonly [Mode.NEAREST_WEEKDAY_OF_MONTH]: T extends Segment.dayOfMonth ? NearestWeekdayOfMonthValue : undefined; readonly [Mode.DAYS_BEFORE_END_MONTH]: T extends Segment.dayOfMonth ? DaysBeforeEndMonthValue : undefined; readonly [Mode.LAST_DAY_WEEK]: T extends Segment.dayOfMonth ? LastDayWeekValue : undefined; constructor(d?: Inputs); abstract clone(d?: Partial): SegmentValues; get>(mode: K): T extends Segment.dayOfMonth ? ModeValues : null; get>(mode: K): T extends Segment.dayOfWeek ? ModeValues : null; get>(mode: K): T extends Segment.month ? ModeValues : null; get(mode: K): ModeValues; get(mode: K): ModeValues | null; } export {};