import { type PropsWithChildren, type ReactElement } from "react";
import { type CrudeTimeSpan } from "@synnaxlabs/x";
export interface ContextValue {
    delay: CrudeTimeSpan;
    startAccelerating: () => void;
}
export interface ConfigProps extends PropsWithChildren, Partial<Omit<ContextValue, "startAccelerating">> {
    accelerate?: boolean;
    acceleratedDelay?: CrudeTimeSpan;
    accelerationDelay?: CrudeTimeSpan;
}
export declare const Context: import("react").Context<ContextValue>;
export declare const useConfig: () => ContextValue;
/**
 * Sets the default configuration for all tooltips in its children.
 *
 * @param props - The props for the tooltip config.
 * @param props.delay - The delay before the tooltip appears, in milliseconds.
 * @default 500ms.
 * @param props.accelerate - Whether to enable accelerated visibility of tooltps for
 * a short period of time after the user has hovered over a first tooltip.
 * @default true.
 * @param props.acceleratedDelay - The delay before the tooltip appears when
 * accelerated visibility is enabled.
 * @default 100 ms.
 * @param props.acceleratedDuration - The duration of accelerated visibility.
 * @default 10 seconds.
 */
export declare const Config: ({ delay, accelerate, acceleratedDelay, accelerationDelay, children, }: ConfigProps) => ReactElement;
