import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { ControlValueAccessor, FormControl } from '@angular/forms';
import { MatDatepicker } from '@angular/material/datepicker';
import { DisplayDensity, NgmAppearance } from '@metad/ocap-angular/core';
import { TimeGranularity } from '@metad/ocap-core';
import * as i0 from "@angular/core";
export declare class NgmTodayFilterComponent implements OnInit, OnChanges, ControlValueAccessor {
    TimeGranularity: typeof TimeGranularity;
    TIME_GRANULARITY_SEQUENCES: {
        0: TimeGranularity[];
        1: TimeGranularity[];
        2: TimeGranularity[];
        3: TimeGranularity[];
    };
    _hostClass: boolean;
    private coreService;
    private dsCoreService;
    get granularity(): TimeGranularity;
    set granularity(value: TimeGranularity);
    private _timeGranularity;
    granularitySequence: number;
    defaultValue: string;
    appearance: NgmAppearance;
    displayDensity: DisplayDensity;
    date: FormControl<Date>;
    /**
     * Invoked when the model has been changed
     */
    onChange: (_: any) => void;
    /**
     * Invoked when the model has been touched
     */
    onTouched: () => void;
    ngOnChanges({ defaultValue }: SimpleChanges): void;
    ngOnInit(): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmTodayFilterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmTodayFilterComponent, "ngm-today-filter", never, { "granularity": { "alias": "granularity"; "required": false; }; "granularitySequence": { "alias": "granularitySequence"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "displayDensity": { "alias": "displayDensity"; "required": false; }; }, {}, never, never, true, never>;
}
export declare class NxQuarterFilterComponent implements ControlValueAccessor {
    appearance: NgmAppearance;
    date: FormControl<Date>;
    /**
     * Invoked when the model has been changed
     */
    onChange: (_: any) => void;
    /**
     * Invoked when the model has been touched
     */
    onTouched: () => void;
    chosenYearHandler(event: any): void;
    chosenMonthHandler(event: any, datepicker: MatDatepicker<any>): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NxQuarterFilterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NxQuarterFilterComponent, "ngm-quarter-filter", never, { "appearance": { "alias": "appearance"; "required": false; }; }, {}, never, ["*"], false, never>;
}
export declare class NxMonthFilterComponent implements ControlValueAccessor {
    appearance: NgmAppearance;
    date: FormControl<Date>;
    /**
     * Invoked when the model has been changed
     */
    onChange: (_: any) => void;
    /**
     * Invoked when the model has been touched
     */
    onTouched: () => void;
    chosenYearHandler(event: any): void;
    chosenMonthHandler(event: any, datepicker: MatDatepicker<any>): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NxMonthFilterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NxMonthFilterComponent, "ngm-month-filter", never, { "appearance": { "alias": "appearance"; "required": false; }; }, {}, never, ["*"], false, never>;
}
export declare class NxYearFilterComponent implements ControlValueAccessor {
    appearance: NgmAppearance;
    date: FormControl<Date>;
    /**
     * Invoked when the model has been changed
     */
    onChange: (_: any) => void;
    /**
     * Invoked when the model has been touched
     */
    onTouched: () => void;
    chosenYearHandler(event: any, datepicker: MatDatepicker<any>): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NxYearFilterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NxYearFilterComponent, "ngm-year-filter", never, { "appearance": { "alias": "appearance"; "required": false; }; }, {}, never, ["*"], false, never>;
}
