import { InjectionToken, FactoryProvider } from '@angular/core'; import { DateRange } from '../models'; import { DateAdapter } from '../shared/date-adapter'; import * as i0 from "@angular/core"; export declare const REALSOFT_DATE_RANGE_SELECTION_STRATEGY: InjectionToken>; export interface RealsoftDateRangeSelectionStrategy { selectionFinished(date: D | null, currentRange: DateRange, event: Event): DateRange; createPreview(activeDate: D | null, currentRange: DateRange, event: Event): DateRange; createDrag?(dragOrigin: D, originalRange: DateRange, newDate: D, event: Event): DateRange | null; } export declare class DefaultRealsoftCalendarRangeStrategy implements RealsoftDateRangeSelectionStrategy { private _dateAdapter; constructor(...args: unknown[]); selectionFinished(date: D, currentRange: DateRange, event: Event): DateRange; createPreview(activeDate: D | null, currentRange: DateRange): DateRange; createDrag(dragOrigin: D, originalRange: DateRange, newDate: D): DateRange; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; } export declare function REALSOFT_CALENDAR_RANGE_STRATEGY_PROVIDER_FACTORY(parent: RealsoftDateRangeSelectionStrategy, adapter: DateAdapter): RealsoftDateRangeSelectionStrategy; export declare const REALSOFT_CALENDAR_RANGE_STRATEGY_PROVIDER: FactoryProvider;