import React from 'react';
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export interface VisibilityConfig {
    afterHide?: (e?: Event) => void;
    afterShow?: () => void;
    initialIsVisible?: boolean;
}
interface VisibilityApi {
    hide: (e?: Event) => any;
    isVisible: boolean;
    show: () => any;
    toggle: () => any;
}
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export interface RenderProps extends VisibilityConfig {
    children: (props: VisibilityApi) => React.ReactElement<{}>;
}
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export declare function useVisibility({ afterHide, afterShow, initialIsVisible, }: VisibilityConfig): VisibilityApi;
/**
 * @deprecatedSince 9
 * @deprecated Never officially documented/supported
 */
export declare function Visibility({ children, ...props }: RenderProps): React.ReactElement<{}, string | React.JSXElementConstructor<any>>;
export {};
