import { type PropsWithChildren, type ReactNode } from "react";
import type { SlotComponent } from "../../hooks/use-slot/types.js";
import type { BaseOption, OptionRenderProps, SmartSelectKinds } from "./type.js";
import { type ComboOptionState } from "./use-async-options.js";
export type SmartSelectRootProps<T extends BaseOption> = {
    readonly open?: boolean;
    readonly onOpenChange?: (open: boolean) => void;
    readonly onOpenChangeComplete?: (open: boolean) => void;
    readonly openOnClick?: boolean;
    readonly openKeys?: string[];
    readonly closeKeys?: string[];
    readonly trigger: SlotComponent;
    readonly container?: SlotComponent<PropsWithChildren<ComboOptionState<T>>>;
    readonly closeOnSelect?: boolean;
    readonly children?: (params: OptionRenderProps<T>) => ReactNode;
} & SmartSelectKinds<T>;
export declare function SmartSelectRoot<T extends BaseOption>(p: SmartSelectRootProps<T>): import("react/jsx-runtime").JSX.Element;
