{"version":3,"file":"ngb-calendar.d.ts","sources":["ngb-calendar.d.ts"],"names":[],"mappings":"AAAA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA","sourcesContent":["import { NgbDate } from './ngb-date';\r\nexport declare function fromJSDate(jsDate: Date): NgbDate;\r\nexport declare function toJSDate(date: NgbDate): Date;\r\nexport declare type NgbPeriod = 'y' | 'm' | 'd';\r\nexport declare function NGB_DATEPICKER_CALENDAR_FACTORY(): NgbCalendarGregorian;\r\n/**\r\n * A service that represents the calendar used by the datepicker.\r\n *\r\n * The default implementation uses the Gregorian calendar. You can inject it in your own\r\n * implementations if necessary to simplify `NgbDate` calculations.\r\n */\r\nexport declare abstract class NgbCalendar {\r\n    /**\r\n     * Returns the number of days per week.\r\n     */\r\n    abstract getDaysPerWeek(): number;\r\n    /**\r\n     * Returns an array of months per year.\r\n     *\r\n     * With default calendar we use ISO 8601 and return [1, 2, ..., 12];\r\n     */\r\n    abstract getMonths(year?: number): number[];\r\n    /**\r\n     * Returns the number of weeks per month.\r\n     */\r\n    abstract getWeeksPerMonth(): number;\r\n    /**\r\n     * Returns the weekday number for a given day.\r\n     *\r\n     * With the default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun\r\n     */\r\n    abstract getWeekday(date: NgbDate): number;\r\n    /**\r\n     * Adds a number of years, months or days to a given date.\r\n     *\r\n     * * `period` can be `y`, `m` or `d` and defaults to day.\r\n     * * `number` defaults to 1.\r\n     *\r\n     * Always returns a new date.\r\n     */\r\n    abstract getNext(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\r\n    /**\r\n     * Subtracts a number of years, months or days from a given date.\r\n     *\r\n     * * `period` can be `y`, `m` or `d` and defaults to day.\r\n     * * `number` defaults to 1.\r\n     *\r\n     * Always returns a new date.\r\n     */\r\n    abstract getPrev(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\r\n    /**\r\n     * Returns the week number for a given week.\r\n     */\r\n    abstract getWeekNumber(week: NgbDate[], firstDayOfWeek: number): number;\r\n    /**\r\n     * Returns the today's date.\r\n     */\r\n    abstract getToday(): NgbDate;\r\n    /**\r\n     * Checks if a date is valid in the current calendar.\r\n     */\r\n    abstract isValid(date: NgbDate): boolean;\r\n}\r\nexport declare class NgbCalendarGregorian extends NgbCalendar {\r\n    getDaysPerWeek(): number;\r\n    getMonths(): number[];\r\n    getWeeksPerMonth(): number;\r\n    getNext(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\r\n    getPrev(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\r\n    getWeekday(date: NgbDate): number;\r\n    getWeekNumber(week: NgbDate[], firstDayOfWeek: number): number;\r\n    getToday(): NgbDate;\r\n    isValid(date: NgbDate): boolean;\r\n}\r\n"]}