import { SimpleChanges } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import { WidgetTimeContextDateRangeService } from '@c8y/ngx-components';
import { Interval } from '@c8y/ngx-components/interval-picker';
import { BsDropdownDirective } from 'ngx-bootstrap/dropdown';
import { DatapointExplorerService } from './time-context.service';
import * as i0 from "@angular/core";
export declare class TimeContextComponent {
    #private;
    private widgetTimeContextDateRangeService;
    changedDateContext: {
        dateFrom?: Date;
        dateTo?: Date;
        interval?: Interval['id'];
        realtime?: boolean;
        aggregation?: string;
    };
    controlsAvailable: any;
    dropdown: BsDropdownDirective;
    datapointExplorerService: DatapointExplorerService;
    formBuilder: FormBuilder;
    readonly DATE_FORMAT = "short";
    readonly INTERVAL_TITLES: Record<"minutes" | "hours" | "days" | "weeks" | "months" | "custom", string>;
    readonly REALTIME_INTERVAL = 1000;
    form: import("@angular/forms").FormGroup<{
        temporaryUserSelectedFromDate: import("@angular/forms").FormControl<string>;
        temporaryUserSelectedToDate: import("@angular/forms").FormControl<string>;
        currentDateContextFromDate: import("@angular/forms").FormControl<string>;
        currentDateContextToDate: import("@angular/forms").FormControl<string>;
        currentDateContextInterval: import("@angular/forms").FormControl<unknown>;
        realtime: import("@angular/forms").FormControl<unknown>;
        aggregation: import("@angular/forms").FormControl<unknown>;
    }>;
    disabledAggregations: any;
    readonly valuesSignal: import("@angular/core").Signal<string>;
    context: import("@angular/core").ModelSignal<Partial<{
        temporaryUserSelectedFromDate: string;
        temporaryUserSelectedToDate: string;
        currentDateContextFromDate: string;
        currentDateContextToDate: string;
        currentDateContextInterval: unknown;
        realtime: unknown;
        aggregation: unknown;
    }>>;
    private realtimeSubscription;
    constructor(widgetTimeContextDateRangeService: WidgetTimeContextDateRangeService);
    ngOnChanges(changes: SimpleChanges): void;
    applyDatetimeContext(): void;
    private subscribeToIntervalChange;
    private subscribeToRealtimeChange;
    private subscribeToAggregationChange;
    private onRealtimeValueChange;
    private startRealtime;
    private stopRealtime;
    private update;
    private createForm;
    private updateFormValues;
    static ɵfac: i0.ɵɵFactoryDeclaration<TimeContextComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TimeContextComponent, "c8y-time-context", never, { "changedDateContext": { "alias": "changedDateContext"; "required": false; }; "controlsAvailable": { "alias": "controlsAvailable"; "required": false; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; }, { "context": "contextChange"; }, never, never, true, never>;
}
//# sourceMappingURL=time-context.component.d.ts.map