import moment, { Moment } from 'moment';
import { Observable } from 'rxjs';
export declare type DateUnit = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year';
export declare const kDateUnitsAsc: readonly DateUnit[];
export declare const kDateUnitsDes: typeof kDateUnitsAsc;
export declare const isDateUnit: (unit: any) => unit is DateUnit;
/**
 * Triggers a callback on every `options.significantUnit` change
 * in the local time zone.
 * @param callback
 * @param options.significantUnit `day` by default.
 * @returns obj.cancel A cancel function
 */
export declare const significantTimeChanges: (options?: {
    significantUnit: moment.unitOfTime.Base;
}) => Observable<Moment>;
export declare const destructureDuration: (duration: moment.Duration) => [number, DateUnit];
