/// <reference path="../../interfaces.d.ts" />
declare namespace BalProps {
    type BalDateCallback = (dateString: string) => boolean;
}
declare namespace BalEvents {
    interface BalDateCustomEvent<T> extends CustomEvent<T> {
        detail: T;
        target: HTMLBalDateElement;
    }
    type BalDateChangeDetail = string | undefined;
    type BalDateChange = BalDateCustomEvent<BalDateChangeDetail>;
    type BalDateInputDetail = string | undefined;
    type BalDateInput = BalDateCustomEvent<BalDateInputDetail>;
    type BalDateBlurDetail = FocusEvent;
    type BalDateBlur = BalDateCustomEvent<BalDateBlurDetail>;
    type BalDateFocusDetail = FocusEvent;
    type BalDateFocus = BalDateCustomEvent<BalDateFocusDetail>;
    type BalDateInputClickDetail = MouseEvent;
    type BalDateInputClick = BalDateCustomEvent<BalDateInputClickDetail>;
    type BalDateIconClickDetail = MouseEvent;
    type BalDateIconClick = BalDateCustomEvent<BalDateIconClickDetail>;
    type BalDateWillAnimateDetail = boolean;
    type BalDateWillAnimate = BalDateCustomEvent<BalDateWillAnimateDetail>;
    type BalDateDidAnimateDetail = boolean;
    type BalDateDidAnimate = BalDateCustomEvent<BalDateDidAnimateDetail>;
}
