import React from 'react';
import type { RenderProp } from '../_utils/types';
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export declare type TriggerVariant = 'click' | 'hover' | 'none' | 'contextmenu' | 'focus' | 'always';
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export interface TriggerConfig {
    disable: React.EventHandler<any>;
    disableKeys?: string[];
    enable: React.EventHandler<any>;
    enableKeys?: string[];
    isEnabled?: boolean;
    trigger?: TriggerVariant | TriggerVariant[];
    triggerRef: React.RefObject<HTMLElement>;
}
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export interface TriggerProps extends TriggerConfig {
    children: React.ReactNode;
}
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export interface TriggerRenderProps extends TriggerConfig, RenderProp<TriggerApi> {
}
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export interface TriggerApi {
    disable: React.EventHandler<any>;
    enable: React.EventHandler<any>;
    isVisible: boolean;
    toggle: React.EventHandler<any>;
}
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export declare function useTrigger({ disable, disableKeys, enable, enableKeys, isEnabled, trigger, triggerRef, }: TriggerConfig): TriggerApi;
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export declare function Trigger({ children, triggerRef, ...props }: TriggerRenderProps): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export declare const initTrigger: TriggerApi;
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export declare const TriggerContext: React.Context<TriggerApi>;
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export declare function TriggerProvider({ children, ...props }: TriggerProps): React.JSX.Element;
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export declare function useTriggerContext(): TriggerApi;
