import { EventEmitter, OnInit } from '@angular/core';
import { ControlValueAccessor, UntypedFormBuilder, UntypedFormGroup, NgControl } from '@angular/forms';
import { Subject } from 'rxjs';
import { MatDatepicker } from '@angular/material/datepicker';
import { DatePipe } from '@angular/common';
import * as i0 from "@angular/core";
export declare class TimelineFilterComponent implements OnInit, ControlValueAccessor {
    ngControl: NgControl;
    private datePipe;
    set defaultValue(value: any);
    get empty(): boolean;
    get shouldLabelFloat(): boolean;
    get required(): boolean;
    set required(value: boolean);
    get disabled(): boolean;
    set disabled(value: boolean);
    get value(): any;
    set value(data: any);
    static nextId: number;
    picker: MatDatepicker<any>;
    timelines: any[];
    dateFrom: string;
    dateTo: string;
    appearance: any;
    showClearButton: boolean;
    form: UntypedFormGroup;
    labelText: string;
    selectionChange: EventEmitter<any>;
    selectorForm: UntypedFormGroup;
    stateChanges: Subject<void>;
    controlType: string;
    id: string;
    describedBy: string;
    focused: boolean;
    showCustomDateFields: boolean;
    private _required;
    private _disabled;
    onChange: any;
    onTouched: any;
    get timelineValue(): import("@angular/forms").AbstractControl<any, any>;
    get customDateFrom(): import("@angular/forms").AbstractControl<any, any>;
    get customDateTo(): import("@angular/forms").AbstractControl<any, any>;
    constructor(formBuilder: UntypedFormBuilder, ngControl: NgControl, datePipe: DatePipe);
    ngOnInit(): void;
    resetFieldValue(field: string): void;
    getFieldValue(field: string): any;
    setFieldValue(field: string, value: any): void;
    changeTimeline(value: any): void;
    setDescribedByIds(ids: string[]): void;
    onContainerClick(event: MouseEvent): void;
    writeValue(data: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TimelineFilterComponent, [null, { optional: true; self: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TimelineFilterComponent, "app-timeline-filter", never, { "defaultValue": { "alias": "defaultValue"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "timelines": { "alias": "timelines"; "required": false; }; "dateFrom": { "alias": "dateFrom"; "required": false; }; "dateTo": { "alias": "dateTo"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "showClearButton": { "alias": "showClearButton"; "required": false; }; "form": { "alias": "form"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
}
