import React, { HTMLAttributes, ReactNode } from 'react';
import type { Placements, Triggers } from '../../types';
export interface CPopoverProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'content'> {
    /**
     * Apply a CSS fade transition to the popover.
     *
     * @since 4.9.0
     */
    animation?: boolean;
    /**
     * A string of all className you want applied to the component.
     */
    className?: string;
    /**
     * Appends the react popover to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
     *
     * @since 4.11.0
     */
    container?: DocumentFragment | Element | (() => DocumentFragment | Element | null) | null;
    /**
     * Content node for your component.
     */
    content: ReactNode | string;
    /**
     * Offset of the popover relative to its target.
     */
    offset?: [number, number];
    /**
     * The delay for displaying and hiding the popover (in milliseconds). When a numerical value is provided, the delay applies to both the hide and show actions. The object structure for specifying the delay is as follows: delay: `{ 'show': 500, 'hide': 100 }`.
     *
     * @since 4.9.0
     */
    delay?: number | {
        show: number;
        hide: number;
    };
    /**
     * Specify the desired order of fallback placements by providing a list of placements as an array. The placements should be prioritized based on preference.
     *
     * @since 4.9.0
     */
    fallbackPlacements?: Placements | Placements[];
    /**
     * Callback fired when the component requests to be hidden.
     */
    onHide?: () => void;
    /**
     * Callback fired when the component requests to be shown.
     */
    onShow?: () => void;
    /**
     * Title node for your component.
     */
    title?: ReactNode | string;
    /**
     * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.
     *
     * @type 'hover' | 'focus' | 'click'
     */
    trigger?: Triggers | Triggers[];
    /**
     * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.
     */
    placement?: 'auto' | 'top' | 'right' | 'bottom' | 'left';
    /**
     * Toggle the visibility of popover component.
     */
    visible?: boolean;
}
export declare const CPopover: React.ForwardRefExoticComponent<CPopoverProps & React.RefAttributes<HTMLDivElement>>;
