/**
 * DatePickerController - directive conttroller
 *
 * @param {angular.IScope} $scope Angular scope.
 * @param {import('ngeo/misc/Time').Time} ngeoTime time service.
 * @param {angular.gettext.gettextCatalog} gettextCatalog service.
 * @class
 * @hidden
 * @ngdoc controller
 * @ngname ngeoDatePickerController
 */
export function Controller($scope: angular.IScope, ngeoTime: import("ngeo/misc/Time").Time, gettextCatalog: angular.gettext.gettextCatalog): void;
export class Controller {
    /**
     * DatePickerController - directive conttroller
     *
     * @param {angular.IScope} $scope Angular scope.
     * @param {import('ngeo/misc/Time').Time} ngeoTime time service.
     * @param {angular.gettext.gettextCatalog} gettextCatalog service.
     * @class
     * @hidden
     * @ngdoc controller
     * @ngname ngeoDatePickerController
     */
    constructor($scope: angular.IScope, ngeoTime: import("ngeo/misc/Time").Time, gettextCatalog: angular.gettext.gettextCatalog);
    /**
     * @type {import('ngeo/misc/Time').Time}
     */
    ngeoTime_: import("ngeo/misc/Time").Time;
    /**
     * @type {?import('ngeo/datasource/OGC').TimeProperty}
     */
    time: import("ngeo/datasource/OGC").TimeProperty | null;
    /**
     * The gettext catalog
     *
     * @type {angular.gettext.gettextCatalog}
     */
    gettextCatalog_: angular.gettext.gettextCatalog;
    /**
     * If the component is used to select a date range
     *
     * @type {boolean}
     */
    isModeRange: boolean;
    /**
     * Function called after date(s) changed/selected
     *
     * @type {?function({time: {start: number, end: ?number}}): void}
     */
    onDateSelected: ((arg0: {
        time: {
            start: number;
            end: number | null;
        };
    }) => void) | null;
    /**
     * Initial min date for the datepicker
     *
     * @type {?Date}
     */
    initialMinDate: Date | null;
    /**
     * Initial max date for the datepickeronDateSelected
     *
     * @type {?Date}
     */
    initialMaxDate: Date | null;
    /**
     * Datepicker options for the second datepicker (only for range mode)
     *
     * @type {unknown}
     */
    edateOptions: unknown;
    /**
     * Datepicker options for the first datepicker
     *
     * @type {unknown}
     */
    sdateOptions: unknown;
    /**
     * Start date model for the first date picker
     *
     * @type {?Date}
     */
    sdate: Date | null;
    /**
     * End date model for the second datepicker (only for range mode)
     *
     * @type {?Date}
     */
    edate: Date | null;
    /**
     * Initialize the controller.
     */
    init(): void;
}
export namespace Controller {
    let $inject: string[];
}
export default myModule;
import angular from 'angular';
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
