import { Observable } from 'rxjs'; import { InjectionToken } from '@angular/core'; import * as i0 from "@angular/core"; /** * The date format options schema. */ export interface ISecondFormatOptions { /** * Stream that triggers a re-render of the component. * */ redraw$: Observable; } /** * `ui-secondformat` injection token for the `options`. * */ export declare const UI_SECONDFORMAT_OPTIONS: InjectionToken>; /** * A directive that formats a given number of `seconds` into a human readable format. * * eg: * For input `61` -> output `1 minute` with the tooltip PT1M1S. * Depends On: * - [luxon](https://www.npmjs.com/package/luxon) * - [humanize-duration](https://www.npmjs.com/package/humanize-duration) * * @export */ export declare class UiSecondFormatDirective { /** * The number of `seconds` that need to be formatted. * */ get seconds(): number | null; set seconds(seconds: number | null); /** * @internal */ tooltip$: Observable; /** * @internal */ text$: Observable; protected _text?: HTMLElement; private _seconds$; private _units; /** * @ignore */ constructor(options: ISecondFormatOptions); private _mapSecondsToDuration; private _mapDurationToText; private _mapDurationToTooltip; private _getDurationLargestUnit; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }