import { AfterContentInit, ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from "@angular/core";
import { Moment } from "moment/moment";
import { Subject } from "rxjs";
import { LoggerService } from "../../../services/log-service";
import { ITimeframe } from "../../time-frame-picker/public-api";
import { QuickPickerComponent } from "../../time-frame-picker/quick-picker/quick-picker.component";
import { TimeframeService } from "../../time-frame-picker/services/timeframe.service";
import { TimeFramePickerComponent } from "../../time-frame-picker/time-frame-picker.component";
import * as i0 from "@angular/core";
/**
 *
 * <div class="card card-inverse card-warning mb-3">
 *   <h4 class="card-header">This is a Convenience Component!</h4>
 *   <div class="card-block">
 *     <p class="card-text">
 *       Please check the section under the <strong>Additional Documentation</strong> sub-menu for more details and usage examples.
 *     </p>
 *   </div>
 *   <div class="card-footer">
 *     <a href="../additional-documentation/convenience-components.html" class="card-link">Read more...</a>
 *   </div>
 * </div>
 *
 */
export declare class TimeFrameBarComponent implements AfterContentInit, OnChanges, OnDestroy {
    timeframeService: TimeframeService;
    private logger;
    private changeDetectorRef;
    /** Earliest selectable date */
    minDate: Moment;
    /** Latest selectable date */
    maxDate: Moment;
    /** Current time frame value */
    timeFrame: ITimeframe;
    timeFrameChange: EventEmitter<ITimeframe>;
    /** Current index in zoom history */
    historyIndex: number;
    /** Emits an event when "Zoom Out" is clicked */
    undo: EventEmitter<any>;
    /** Emits an event when "Clear" is clicked */
    clear: EventEmitter<any>;
    timeFramePicker: TimeFramePickerComponent;
    quickPicker: QuickPickerComponent;
    presets: import("../../time-frame-picker/public-api").ITimeFramePresetDictionary;
    pickerTimeframe: ITimeframe;
    closePopoverSubject: Subject<void>;
    changed: boolean;
    isLeftmostRange: boolean;
    isRightmostRange: boolean;
    humanizedTimeframe: string;
    readonly defaultPickerTitle: string;
    private readonly destroy$;
    constructor(timeframeService: TimeframeService, logger: LoggerService, changeDetectorRef: ChangeDetectorRef);
    ngAfterContentInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    onPopoverShown(): void;
    onUndo(): void;
    onClear(): void;
    updatePickerTf(value: ITimeframe): void;
    handlePresetSelection(presetKey: string): void;
    closePopover(confirmed?: boolean): void;
    shiftRange(factor: number): void;
    ngOnDestroy(): void;
    private changeTimeFrame;
    static ɵfac: i0.ɵɵFactoryDeclaration<TimeFrameBarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TimeFrameBarComponent, "nui-time-frame-bar", never, { "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "timeFrame": { "alias": "timeFrame"; "required": false; }; "historyIndex": { "alias": "historyIndex"; "required": false; }; }, { "timeFrameChange": "timeFrameChange"; "undo": "undo"; "clear": "clear"; }, ["timeFramePicker", "quickPicker"], ["[leftContent]", "*", "[rightContent]", "[timeFrameSelection]"], false, never>;
}
