/**
 * Copyright 2023 Kapeta Inc.
 * SPDX-License-Identifier: MIT
 */
import React from 'react';
import { DateTime, ToRelativeOptions, DateTimeFormatOptions } from 'luxon';
import { TooltipProps } from '../tooltip/Tooltip';
export declare const KapDateTime: typeof DateTime;
export type KapDateTimeFormatOptions = DateTimeFormatOptions;
export interface DateDisplayProps {
    date?: Date | number | string;
    format?: DateTimeFormatOptions;
    /**
     * If timeDiffRelative is set, it controls when the date is displayed as relative. Defaults to 1
     * day.
     */
    timeDiffRelative?: number;
    /**
     * Options that is passed to `luxon/toRelative`
     * (https://moment.github.io/luxon/api-docs/index.html#datetimetorelative)
     * Note: These options are not used if `increaseRelativePrecision` is set to true.
     */
    relativeOptions?: ToRelativeOptions;
    /**
     * If true, the date will be displayed as relative. Defaults to true.
     */
    allowRelative?: boolean;
    /**
     * Increase the precision of relative dates. If true, the relative date will be displayed as
     * e.g. "in 1 hour, 15 minutes" instead of "in 1 hour".
     */
    increaseRelativePrecision?: boolean;
    /**
     * A tooltip is shown as default when hovering over a relative date. By setting this to true you
     * get a tooltip regardless if the date is relative or not.
     */
    showTooltip?: boolean;
    /**
     * Tooltip placement. Defaults to "top".
     */
    tooltipPlacement?: TooltipProps['placement'];
    /**
     * The date format used in the tooltip. Defaults to `DateTime.DATETIME_SHORT`
     */
    tooltipDateFormat?: DateTimeFormatOptions;
}
export declare const toDateText: (props: DateDisplayProps | Date | number) => string | null;
export declare const toDateTextInner: (props: DateDisplayProps) => {
    relative: boolean;
    text: string;
};
export declare const DateDisplay: (props: DateDisplayProps) => React.JSX.Element;
