import * as react_jsx_runtime from 'react/jsx-runtime';
import { AccordionProps, CarouselProps, CheckboxProps, DrawerProps, FlyoutProps, MenuProps, ModalProps, NumberInputProps, SliderProps, TabsProps, ToggleProps, TooltipProps } from './primitives.js';
import * as react from 'react';
import { ReactNode, ElementType, ComponentProps } from 'react';
import { C as ConditionalValue, b as PandaComponent, H as HTMLPandaProps, J as JsxStyleProps } from './jsx.d-7680d661.js';
import { p as panda, F as FlexProps } from './flex.d-37f5507f.js';
import { ark } from '@ark-ui/react';
import { ToasterProps } from 'react-hot-toast';
import '@ark-ui/react/checkbox/use-checkbox';
import '@pandacss/dev';
import './tokens.d-8d9f25c0.js';

/* eslint-disable */


type BannerVariant = {
  variant: "gradient"
}

type BannerVariantProps = {
  [key in keyof BannerVariant]?: ConditionalValue<BannerVariant[key]>
}

/* eslint-disable */


type ButtonVariant = {
  variant: "secondary" | "ghost" | "round"
size: "xs" | "sm" | "lg"
}

type ButtonVariantProps = {
  [key in keyof ButtonVariant]?: ConditionalValue<ButtonVariant[key]>
}

/* eslint-disable */


type IconVariant = {
  size: "xs" | "sm" | "lg" | "xl" | "2xl"
}

type IconVariantProps = {
  [key in keyof IconVariant]?: ConditionalValue<IconVariant[key]>
}

/* eslint-disable */


type CarouselVariant = {
  size: "sm"
}

type CarouselVariantProps = {
  [key in keyof CarouselVariant]?: ConditionalValue<CarouselVariant[key]>
}

/* eslint-disable */


type CheckboxVariant = {
  size: "sm" | "lg"
}

type CheckboxVariantProps = {
  [key in keyof CheckboxVariant]?: ConditionalValue<CheckboxVariant[key]>
}

/* eslint-disable */


type DrawerVariant = {
  placement: "left"
}

type DrawerVariantProps = {
  [key in keyof DrawerVariant]?: ConditionalValue<DrawerVariant[key]>
}

/* eslint-disable */


type InputVariant = {
  variant: "flushed" | "filled" | "unstyled"
size: "2xs" | "xs" | "sm" | "lg" | "xl"
}

type InputVariantProps = {
  [key in keyof InputVariant]?: ConditionalValue<InputVariant[key]>
}

/* eslint-disable */


type MenuVariant = {
  size: "sm" | "lg"
}

type MenuVariantProps = {
  [key in keyof MenuVariant]?: ConditionalValue<MenuVariant[key]>
}

/* eslint-disable */


type NumberInputVariant = {
  variant: "flushed" | "filled" | "unstyled"
size: "2xs" | "xs" | "sm" | "lg" | "xl"
}

type NumberInputVariantProps = {
  [key in keyof NumberInputVariant]?: ConditionalValue<NumberInputVariant[key]>
}

/* eslint-disable */


type TabsVariant = {
  size: "sm"
}

type TabsVariantProps = {
  [key in keyof TabsVariant]?: ConditionalValue<TabsVariant[key]>
}

/* eslint-disable */


type ToastVariant = {
  variant: "success" | "error" | "loading"
}

type ToastVariantProps = {
  [key in keyof ToastVariant]?: ConditionalValue<ToastVariant[key]>
}

/* eslint-disable */


type ToggleVariant = {
  size: "sm" | "lg"
}

type ToggleVariantProps = {
  [key in keyof ToggleVariant]?: ConditionalValue<ToggleVariant[key]>
}

interface AccordionItemRecord {
    id: string;
    value: string;
    triggerLabel?: string;
    content: ReactNode;
    icon?: ElementType;
}
interface Props$i extends AccordionProps {
    items: AccordionItemRecord[];
    plusMinus?: boolean;
}
/**
 * Core UI accordion.
 */
declare const Accordion: ({ items, plusMinus, ...rest }: Props$i) => react_jsx_runtime.JSX.Element;

interface Props$h extends ComponentProps<typeof panda.div>, BannerVariantProps {
    closable?: boolean;
}
/**
 * Core UI banner.
 */
declare const Banner: ({ children, variant, closable, ...rest }: Props$h) => false | react_jsx_runtime.JSX.Element;

type Props$g = ComponentProps<typeof PandaButton> & ButtonVariantProps;
declare const PandaButton: PandaComponent<typeof ark.button>;
/**
 * Core UI button.
 */
declare const Button: ({ variant, size, children, ...rest }: Props$g) => react_jsx_runtime.JSX.Element;

interface Props$f extends CarouselProps, CarouselVariantProps {
    slides: ReactNode[];
}
declare const Carousel: ({ slides, size, ...rest }: Props$f) => react_jsx_runtime.JSX.Element | null;

interface Props$e extends Omit<CheckboxProps, "children">, CheckboxVariantProps {
    label: string;
}
/**
 * Core UI checkbox.
 */
declare const Checkbox: ({ size, label, ...rest }: Props$e) => react_jsx_runtime.JSX.Element;

interface Props$d extends DrawerProps, DrawerVariantProps {
    trigger: ReactNode;
    title?: string;
    description?: string;
}
/**
 * Core UI drawer.
 */
declare const Drawer: ({ children, placement, trigger, title, description, ...rest }: Props$d) => react_jsx_runtime.JSX.Element;

interface Props$c extends HTMLPandaProps<"svg">, IconVariantProps {
    as: ElementType;
}
/**
 * Core UI icon.
 */
declare const Icon: ({ as, size, ...rest }: Props$c) => react_jsx_runtime.JSX.Element;

interface Props$b extends ComponentProps<typeof PandaInput>, InputVariantProps {
    label?: string;
    leftAddon?: ReactNode;
    rightAddon?: ReactNode;
}
declare const PandaInput: PandaComponent<react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & {
    ref?: ((instance: HTMLInputElement | null) => void) | react.RefObject<HTMLInputElement> | null | undefined;
} & {
    asChild?: boolean | undefined;
}>, InputVariantProps>;
/**
 * Core UI input.
 */
declare const Input: ({ label, leftAddon, rightAddon, variant, size, ...rest }: Props$b) => react_jsx_runtime.JSX.Element;

interface Props$a extends FlyoutProps {
    trigger: ReactNode;
    title?: string;
    children: ReactNode;
}
/**
 * Core UI flyout.
 */
declare const Flyout: ({ trigger, title, children, ...rest }: Props$a) => react_jsx_runtime.JSX.Element | null;

interface MenuItemRecord {
    id: string;
    child: ReactNode;
    subMenu?: boolean;
}
interface MenuItemGroupRecord {
    id: string;
    label?: string;
    separator?: boolean;
    items: MenuItemRecord[];
}
interface Props$9 extends MenuProps, MenuVariantProps {
    trigger?: ReactNode;
    triggerItem?: ReactNode;
    triggerVariant?: ButtonVariantProps["variant"];
    groups?: MenuItemGroupRecord[];
}
/**
 * Core UI menu.
 */
declare const Menu: ({ children, trigger, triggerItem, triggerVariant, groups, size, ...rest }: Props$9) => react_jsx_runtime.JSX.Element | null;

interface Props$8 extends ModalProps {
    trigger: ReactNode;
    title?: string;
    description?: string;
}
/**
 * Core UI modal.
 */
declare const Modal: ({ children, trigger, title, description, ...rest }: Props$8) => react_jsx_runtime.JSX.Element;

interface Props$7 extends NumberInputProps, NumberInputVariantProps {
    label?: string;
    leftAddon?: ReactNode;
    stepper?: boolean;
    placeholder?: string;
}
/**
 * Core UI number input.
 */
declare const NumberInput: ({ size, variant, label, leftAddon, stepper, placeholder, ...rest }: Props$7) => react_jsx_runtime.JSX.Element;

interface SliderMarkerRecord {
    id: string;
    value: number;
    label: string;
}
interface Props$6 extends SliderProps {
    label?: string;
    markers?: SliderMarkerRecord[];
    maxW?: JsxStyleProps["maxW"];
}
/**
 * Core UI slider.
 */
declare const Slider: ({ label, markers, maxW, ...rest }: Props$6) => react_jsx_runtime.JSX.Element | null;

interface TabRecord {
    value: string;
    trigger: ReactNode;
    disabled?: boolean;
    lazyMount?: boolean;
    unmountOnExit?: boolean;
    content: ReactNode;
}
interface Props$5 extends TabsProps, TabsVariantProps {
    tabs: TabRecord[];
}
/**
 * Core UI tabs.
 */
declare const Tabs: ({ tabs, size, ...rest }: Props$5) => react_jsx_runtime.JSX.Element | null;

interface Props$4 extends FlexProps, ToastVariantProps {
    title: string;
    description?: string;
    onClose?: () => void;
}
/**
 * Core UI toast.
 */
declare const Toast: ({ title, description, onClose, variant, ...rest }: Props$4) => react_jsx_runtime.JSX.Element;

interface Props$3 extends ToasterProps {
}
/**
 * Core UI toaster.
 */
declare const Toaster: ({ ...props }: Props$3) => react_jsx_runtime.JSX.Element;

type Props$2 = ToggleProps & ToggleVariantProps;
/**
 * Core UI toggle.
 */
declare const Toggle: ({ label, size, ...rest }: Props$2) => react_jsx_runtime.JSX.Element | null;

interface Props$1 extends TooltipProps {
    trigger: ReactNode;
    content: ReactNode;
}
/**
 * Core UI tooltip.
 */
declare const Tooltip: ({ trigger, content, openDelay, closeDelay, ...rest }: Props$1) => react_jsx_runtime.JSX.Element | null;

interface Props extends FlexProps {
    label?: string;
    icon?: ElementType;
    open?: boolean;
    children?: ReactNode;
    collapseDirection?: "horizontal" | "vertical";
}
/**
 * Utility component to conditionally collapse child elements.
 */
declare const Collapse: ({ label, icon, open, children, collapseDirection, ...rest }: Props) => react_jsx_runtime.JSX.Element;

export { Accordion, AccordionItemRecord, Props$i as AccordionProps, Banner, Props$h as BannerProps, Button, Props$g as ButtonProps, Carousel, Props$f as CarouselProps, Checkbox, Props$e as CheckboxProps, Collapse, Drawer, Props$d as DrawerProps, Flyout, Props$a as FlyoutProps, Icon, Props$c as IconProps, Input, Props$b as InputProps, Menu, MenuItemGroupRecord, MenuItemRecord, Props$9 as MenuProps, Modal, Props$8 as ModalProps, NumberInput, Props$7 as NumberInputProps, Slider, SliderMarkerRecord, Props$6 as SliderProps, TabRecord, Tabs, Props$5 as TabsProps, Toast, Props$4 as ToastProps, Toaster, Props$3 as ToasterProps, Toggle, Props$2 as ToggleProps, Tooltip, Props$1 as TooltipProps };
