import { Options, Settings, CalendarSides, State, RowItemVariables, RowItemOptions, DateCharacteristics, Config, RowOptions, RowVariables } from "./interfaces";
import { Moment } from "moment";
import * as i0 from "@angular/core";
export declare class NgxDatetimeRangePickerService {
    getDefaultOptions(): Options;
    getDefaultSettings(): Settings;
    getDefaultState(): State;
    checkSettingsValidity(settings: Settings): void;
    formatDateToDefaultFormat(date: string | number, format: string): string;
    formatTimeToDefaultFormat(time: string): any;
    getCalendarRowNumberText(type: any, number: any): string;
    createDefaultRanges(config: Config): Object;
    getSanitizedDateArray(config: Config): string[];
    getNumberOfWeeks(date: any): number;
    getYearlyWeekCount(year: string): number;
    getMonthsAvailable(minDate: any, maxDate: any, selectedYear: any): string[];
    getYearsAvailable(config: Config): string[];
    isDateAvailable(date: number, minDate: number, maxDate: number, startDate: number, endDate: number, monthStartDate: number, monthEndDate: number, config: Config): boolean;
    isDateInRange(date: number, minDate: number, maxDate: number, startDate: number, endDate: number, monthStartDate: number, monthEndDate: number, available: boolean, config: Config): boolean;
    isDateActive(date: number, startDate: number, endDate: number, side: string): boolean;
    isDateToday(dateMs: number, config: any): boolean;
    isWeekday(date: number, format?: string): boolean;
    isWeekend(date: number, format?: string): boolean;
    isInDateArray(date: number, dateArray: any[], format?: string): boolean;
    getCalendarRowVariables(options: RowOptions): RowVariables;
    getCalendarRowItemVariables(options: RowItemOptions): RowItemVariables;
    isRowIemValid(options: RowOptions): boolean;
    formatStartDate(config: Config, returnFormat: string): string;
    getSelectedYear(date: string | number): number;
    getFirstLastDay(date: string, type: string): {
        firstDay: string;
        lastDay: string;
    };
    getZoneDate(tz: string, format: string, date?: string): Moment;
    getZoneToday(tz: string, viewDateFormat: string): string;
    formatToZoneDate(tz: string, format: string, date: string): string;
    convertToViewTimeItem(item: string | number): string;
    getWeekNumber(date: string): string | number;
    iterateOverDateObj(dates: CalendarSides, func: any): void;
    getCalendarColspan(type: string): number;
    getCalendarRowItemColspan(type: string): number;
    getDateCharacteristics(config: Config, state: State, date: string, month: string, side: string): DateCharacteristics;
    getLabelProps(state: State, calendarType: string, side: string): {
        label: string;
        labelFormat: string;
        type: string;
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxDatetimeRangePickerService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NgxDatetimeRangePickerService>;
}
