import React, { ReactNode } from 'react';
import * as OptionMenuPrimitive from './_dropdown-primitive';
import { ITextInput } from './input';
interface IBase {
    className?: string;
    onClick?: (e: Event) => void;
    children: ReactNode;
}
interface ITrigger {
    children: ReactNode;
    open?: boolean;
    props?: any;
}
interface IOptionMenuContent extends Omit<IBase, 'onClick'> {
    sideOffset?: number;
    open?: boolean;
    align?: 'start' | 'center' | 'end';
    side?: 'top' | 'right' | 'bottom' | 'left';
    alignOffset?: number;
}
interface IOptionMenuItem extends IBase {
    active?: boolean;
}
interface IOptionMenuLink extends IBase {
    LinkComponent?: any;
    to: string;
    target?: string;
    rel?: string;
    toLabel?: string;
}
interface IOptionMenuTextInput extends Omit<ITextInput, 'onPointerDown' | 'onClick'> {
    compact?: boolean;
}
interface IOptionMenuCheckbox extends IBase {
    showIndicator?: boolean;
    checked?: boolean;
    onValueChange?: (checked: boolean) => void;
}
interface IOptionMenuRadio extends IBase {
    showIndicator?: boolean;
    value: string;
}
interface IOptionMenuSeparator extends Omit<IBase, 'onClick' | 'children'> {
}
interface IOptionMenuTabs extends IBase {
    onChange?: (v: string) => void;
    value: string;
    size?: string;
    LinkComponent?: any;
    compact?: boolean;
}
interface IRoot {
    children: ReactNode;
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
    modal?: boolean;
}
declare const OptionList: {
    Root: ({ ...props }: IRoot) => import("react/jsx-runtime").JSX.Element;
    RadioGroup: React.ForwardRefExoticComponent<OptionMenuPrimitive.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
    RadioGroupItem: React.ForwardRefExoticComponent<IOptionMenuRadio & React.RefAttributes<HTMLDivElement>>;
    CheckboxItem: React.ForwardRefExoticComponent<IOptionMenuCheckbox & React.RefAttributes<HTMLDivElement>>;
    Separator: React.ForwardRefExoticComponent<IOptionMenuSeparator & React.RefAttributes<HTMLDivElement>>;
    Content: React.ForwardRefExoticComponent<IOptionMenuContent & React.RefAttributes<HTMLDivElement>>;
    Trigger: React.ForwardRefExoticComponent<ITrigger & React.RefAttributes<HTMLButtonElement>>;
    TextInput: React.ForwardRefExoticComponent<IOptionMenuTextInput & React.RefAttributes<HTMLInputElement>>;
    Item: React.ForwardRefExoticComponent<IOptionMenuItem & React.RefAttributes<HTMLDivElement>>;
    Tabs: {
        Root: React.ForwardRefExoticComponent<IOptionMenuTabs & React.RefAttributes<HTMLDivElement>>;
        Tab: <T>({ to, label, prefix, value: _ }: import("./tabs").ITab<T>) => import("react/jsx-runtime").JSX.Element;
    };
    Link: React.ForwardRefExoticComponent<IOptionMenuLink & React.RefAttributes<HTMLDivElement>>;
    OptionItemRaw: React.ForwardRefExoticComponent<{
        children?: ReactNode;
        active?: boolean;
        className?: string;
    } & React.RefAttributes<unknown>>;
};
export default OptionList;
