import { AfterViewInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { KbqButton, KbqButtonStyles } from '@koobiq/components/button';
import { KbqComponentColors, PopUpPlacements } from '@koobiq/components/core';
import { KbqListSelection } from '@koobiq/components/list';
import { KbqPopoverTrigger } from '@koobiq/components/popover';
import { KbqDateTimeValue } from '../filter-bar.types';
import { KbqBasePipe } from './base-pipe';
import * as i0 from "@angular/core";
export declare class KbqPipeDatetimeComponent<D> extends KbqBasePipe<KbqDateTimeValue> implements AfterViewInit {
    private readonly adapter;
    private readonly formatter;
    /** @docs-private */
    protected readonly placements: typeof PopUpPlacements;
    /** @docs-private */
    protected readonly styles: typeof KbqButtonStyles;
    /** @docs-private */
    protected readonly colors: typeof KbqComponentColors;
    /** Whether the current state is list of periods. When false will displayed control for set custom period */
    protected isListMode: boolean;
    /** @docs-private */
    protected formGroup: FormGroup;
    /** @docs-private */
    protected showStartCalendar: boolean;
    /** @docs-private */
    protected showEndCalendar: boolean;
    /** formatted value for period */
    get formattedValue(): string;
    /** Whether the current pipe is disabled. */
    get disabled(): boolean;
    /** parsed start */
    get start(): D;
    /** default object for start */
    get defaultStart(): D;
    /** parsed end */
    get end(): D;
    /** default object for end */
    get defaultEnd(): D;
    /** Whether the current pipe is empty. */
    get isEmpty(): boolean;
    /** @docs-private */
    popover: KbqPopoverTrigger;
    /** @docs-private */
    listSelection: import("@angular/core").Signal<KbqListSelection>;
    /** @docs-private */
    returnButton: import("@angular/core").Signal<KbqButton>;
    ngAfterViewInit(): void;
    /** keydown handler
     * @docs-private */
    onKeydown($event: KeyboardEvent): void;
    /** @docs-private */
    onApplyPeriod(): void;
    onSelect(item: KbqDateTimeValue): void;
    showPeriod(): void;
    showList(): void;
    /** opens popover */
    open(): void;
    onSelectStartDate(value: D): void;
    onSelectEndDate(value: D): void;
    onFocusStartInput(): void;
    onFocusEndInput(): void;
    hideCalendars(): void;
    private initFormGroup;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeDatetimeComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqPipeDatetimeComponent<any>, "kbq-pipe-datetime", never, {}, {}, never, never, true, never>;
}
