import * as solid_js from 'solid-js';
import { Accessor, JSX } from 'solid-js';
import { PropTypes } from '@zag-js/solid';
import * as toggle$1 from '@zag-js/toggle';
import { HTMLProps, PolymorphicProps } from '../factory.js';
import * as _zag_js_anatomy from '@zag-js/anatomy';
import '../../types-Bc0WfPsv.js';

interface UseToggleProps extends toggle$1.Props {
}
type UseToggleReturn = Accessor<toggle$1.Api<PropTypes>>;
declare function useToggle(props?: UseToggleProps): UseToggleReturn;

interface UseToggleContext extends UseToggleReturn {
}
declare const useToggleContext: () => UseToggleContext;

interface ToggleContextProps {
    children: (context: UseToggleContext) => JSX.Element;
}
declare const ToggleContext: (props: ToggleContextProps) => JSX.Element;

interface ToggleIndicatorBaseProps extends PolymorphicProps<'div'> {
    fallback?: JSX.Element;
}
interface ToggleIndicatorProps extends HTMLProps<'div'>, ToggleIndicatorBaseProps {
}
declare const ToggleIndicator: (props: ToggleIndicatorProps) => JSX.Element;

interface ToggleRootBaseProps extends UseToggleProps, PolymorphicProps<'button'> {
}
interface ToggleRootProps extends HTMLProps<'button'>, ToggleRootBaseProps {
}
declare const ToggleRoot: (props: ToggleRootProps) => solid_js.JSX.Element;

declare const toggleAnatomy: _zag_js_anatomy.Anatomy<"root" | "indicator">;

declare const toggle_toggleAnatomy: typeof toggleAnatomy;
declare namespace toggle {
  export { ToggleContext as Context, type ToggleContextProps as ContextProps, ToggleIndicator as Indicator, type ToggleIndicatorBaseProps as IndicatorBaseProps, type ToggleIndicatorProps as IndicatorProps, ToggleRoot as Root, type ToggleRootBaseProps as RootBaseProps, type ToggleRootProps as RootProps, toggle_toggleAnatomy as toggleAnatomy };
}

export { toggle as Toggle, ToggleContext, type ToggleContextProps, ToggleIndicator, type ToggleIndicatorBaseProps, type ToggleIndicatorProps, ToggleRoot, type ToggleRootBaseProps, type ToggleRootProps, type UseToggleContext, type UseToggleProps, type UseToggleReturn, toggleAnatomy, useToggle, useToggleContext };
