import type { ElementType, HTMLAttributes, RefObject } from 'react';
import React from 'react';
import type { Placements } from '../../types';
export declare type Directions = 'start' | 'end';
export interface CDropdownProps extends HTMLAttributes<HTMLDivElement | HTMLLIElement> {
    autoClose?: 'inside' | 'outside' | boolean;
    className?: string;
    component?: string | ElementType;
    direction?: 'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart';
    onHide?: () => void;
    onShow?: () => void;
    placement?: Placements;
    popper?: boolean;
    visible?: boolean;
}
interface ContextProps extends CDropdownProps {
    dropdownToggleRef: RefObject<any> | undefined;
    setVisible: React.Dispatch<React.SetStateAction<boolean | undefined>>;
}
export declare const CDropdownContext: React.Context<ContextProps>;
export declare const CDropdown: React.ForwardRefExoticComponent<CDropdownProps & React.RefAttributes<HTMLDivElement | HTMLLIElement>>;
export {};
