import Component from '@glimmer/component';
import type EuiI18n from '../services/eui-i18n';
import type { ApplyRefreshInterval, DurationRange, Milliseconds, ShortDate } from './eui-super-date-picker/types/global';
import type { LocaleSpecifier } from 'moment';
export type { ApplyRefreshInterval, DurationRange, Milliseconds, ShortDate };
export interface EuiSuperDatePickerArgs {
    commonlyUsedRanges?: DurationRange[];
    /**
     * Specifies the formatted used when displaying dates and/or datetimes
     */
    dateFormat?: string;
    /**
     * Set isAutoRefreshOnly to true to limit the component to only display auto refresh content.
     */
    isAutoRefreshOnly?: boolean;
    isDisabled?: boolean;
    isLoading?: boolean;
    isPaused?: boolean;
    /**
     * Sets the overall width by adding sensible min and max widths.
     * - `auto`: fits width to internal content / time string.
     * - `restricted`: static width that fits the longest possible time string.
     * - `full`: expands to 100% of the container.
     */
    width?: 'restricted' | 'full' | 'auto';
    /**
     * Reduces overall height to compressed form size
     */
    compressed?: boolean;
    /**
     * Used to localize e.g. month names, passed to `moment`
     */
    locale?: LocaleSpecifier;
    /**
     * Callback for when the refresh interval is fired.
     * EuiSuperDatePicker will only manage a refresh interval timer when onRefresh callback is supplied
     * If a promise is returned, the next refresh interval will not start until the promise has resolved.
     * If the promise rejects the refresh interval will stop and the error thrown
     */
    onRefresh?: (props: any) => void;
    /**
     * Callback for when the refresh interval changes.
     * Supply onRefreshChange to show refresh interval inputs in quick select popover
     */
    onRefreshChange?: ApplyRefreshInterval;
    /**
     * Callback for when the time changes.
     */
    onTimeChange: (props: any) => void;
    /**
     * Refresh interval in milliseconds
     */
    refreshInterval?: Milliseconds;
    start?: ShortDate;
    end?: ShortDate;
    /**
     * Specifies the formatted used when displaying times
     */
    timeFormat?: string;
    utcOffset?: number;
    /**
     * Set showUpdateButton to false to immediately invoke onTimeChange for all start and end changes.
     */
    showUpdateButton?: boolean | 'iconOnly';
    /**
     * Hides the actual input reducing to just the quick select button.
     */
    isQuickSelectOnly?: boolean;
}
export default class EuiSuperDatePicker extends Component<EuiSuperDatePickerArgs> {
    dateFormat: string;
    timeFormat: string;
    isAutoRefreshOnly: boolean;
    isDisabled: boolean;
    isPaused: boolean;
    showUpdateButton: boolean;
    width: string;
    refreshInterval: Milliseconds;
    euiI18n: EuiI18n;
    start: ShortDate;
    end: ShortDate;
    isInvalid: boolean;
    hasChanged: boolean;
    constructor(owner: any, args: EuiSuperDatePickerArgs);
    get timeOptions(): import("./eui-super-date-picker/utils/time-options").TimeOptions;
    setTime({ start, end }: DurationRange): void;
    applyTime(): void;
    applyQuickTime({ start, end }: DurationRange): void;
    setStart(start: ShortDate): void;
    setEnd(end: ShortDate): void;
    handleClickUpdateButton(): void;
}
//# sourceMappingURL=eui-super-date-picker.d.ts.map