import { Observable } from 'rxjs';
import { Period } from '../period';
import { DateTime } from 'luxon';
import * as i0 from "@angular/core";
/**
* The service provides the current calendar period. It is specified:
*
* - As the period between a start and end date if both are specified
* - The duration of a year following the start date if no end date is specified
* - The duration of a year preceding the end date if no start date is specified
* - The full current year from jan 1st to dec 31 if neither start nor end date are specified
*/
export declare class PeriodService {
private readonly _period$;
private readonly _isFullYear$;
private readonly _startDate$;
private readonly _endDate$;
/**
* Set the start date of the period. If the parameter is null the start date will be calculated
* @param date A luxon date or null
*/
set startDate(date: DateTime);
/**
* Set the end date of the period. If the parameter is null the end date will be calculated.
* @param date A luxon date or null
*/
set endDate(date: DateTime);
/**
* The observable with the period between start- and end date or the current year if neither is passed.
*/
get period$(): Observable;
/**
* Returns true if neither start nor end were given and the current year was picked instead.
*/
get isFullYear$(): Observable;
constructor();
private static getCurrentYearPeriod;
private static calculatePeriod;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵprov: i0.ɵɵInjectableDeclaration;
}