import { AfterContentInit, ChangeDetectorRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { KbqButton } from '@koobiq/components/button';
import { KbqDatepickerIntl } from './datepicker-intl';
import { KbqDatepicker } from './datepicker.component';
import * as i0 from "@angular/core";
/** Can be used to override the icon of a `kbqDatepickerToggle`. */
export declare class KbqDatepickerToggleIcon {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqDatepickerToggleIcon, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqDatepickerToggleIcon, "[kbqDatepickerToggleIcon]", never, {}, {}, never, never, false, never>;
}
export declare class KbqDatepickerToggleIconComponent<D> implements AfterContentInit, OnChanges, OnDestroy {
    /** Whether the toggle button is disabled. */
    get disabled(): boolean;
    set disabled(value: boolean);
    private _disabled;
    /** Datepicker instance that the button will toggle. */
    datepicker: KbqDatepicker<D>;
    private readonly destroyRef;
    private readonly cdr;
    private stateChangesSubscription;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    /** Open datepicker */
    open($event: MouseEvent): void;
    private watchStateChanges;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqDatepickerToggleIconComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqDatepickerToggleIconComponent<any>, "kbq-datepicker-toggle-icon", never, { "disabled": { "alias": "disabled"; "required": false; }; "datepicker": { "alias": "for"; "required": false; }; }, {}, never, ["[kbqDatepickerToggleIcon]"], true, never>;
}
/**
 * @deprecated Use `KbqDatepickerToggleIconComponent` instead
 */
export declare class KbqDatepickerToggle<D> implements AfterContentInit, OnChanges, OnDestroy {
    intl: KbqDatepickerIntl;
    private changeDetectorRef;
    /** Whether the toggle button is disabled. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** Datepicker instance that the button will toggle. */
    datepicker: KbqDatepicker<D>;
    /** Tabindex for the toggle. */
    tabIndex: number | null;
    /** Custom icon set by the consumer. */
    customIcon: KbqDatepickerToggleIcon;
    /** Underlying button element. */
    button: KbqButton;
    private stateChanges;
    private _disabled;
    constructor(intl: KbqDatepickerIntl, changeDetectorRef: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    open(event: Event): void;
    private watchStateChanges;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqDatepickerToggle<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqDatepickerToggle<any>, "kbq-datepicker-toggle", ["kbqDatepickerToggle"], { "disabled": { "alias": "disabled"; "required": false; }; "datepicker": { "alias": "for"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, {}, ["customIcon"], ["[kbqDatepickerToggleIcon]"], false, never>;
}
