import { ReactNode } from 'react';
import { ObjectValues } from '../../utils/ObjectValues';
import { RefComponent } from '../../utils/RefComponent';
declare const STATUS_MAP: {
    readonly AVAILABLE: "available";
    readonly DRIVING: "driving";
    readonly RESTING: "resting";
    readonly WORKING: "working";
};
export type ActivityStatus = ObjectValues<typeof STATUS_MAP>;
declare const SIZE_MAP: {
    readonly SIZE_SM: "sm";
    readonly SIZE_LG: "lg";
    readonly SIZE_XL: "xl";
};
export type ActivitySize = ObjectValues<typeof SIZE_MAP>;
export type ActivityProps = {
    /**
     * Defines the type of activity.
     *
     * Possible values are `Activity.AVAILABLE`, `Activity.DRIVING`, `Activity.RESTING` or `Activity.WORKING`.
     */
    activity: ActivityStatus;
    /**
     * Define how large the component should be rendered.
     *
     * Possible values are `Activity.SIZE_SM`, `Activity.SIZE_LG` or `Activity.SIZE_XL`.
     */
    bsSize?: ActivitySize;
    /**
     * The actual duration value to be shown.
     */
    duration?: string | ReactNode;
    /**
     * Indicates whether the activity is outdated.
     *
     * @default false
     */
    isOutdated?: boolean;
    /**
     * Callback function for when the component is clicked.
     */
    onClick?: VoidFunction;
    /**
     * Additional classes for the wrapper element.
     */
    className?: string;
};
type ActivityType = RefComponent<ActivityProps> & typeof STATUS_MAP & typeof SIZE_MAP;
declare const Activity: ActivityType;
export default Activity;
