import * as dateInput$1 from '@zag-js/date-input';
import { SegmentProps, SegmentGroupProps, HiddenInputProps, DateSegment } from '@zag-js/date-input';
export { DateValue as DateInputDateValue, FocusChangeDetails as DateInputFocusChangeDetails, SelectionMode as DateInputSelectionMode, ValueChangeDetails as DateInputValueChangeDetails, anatomy as dateInputAnatomy } from '@zag-js/date-input';
import { PropTypes } from '@zag-js/solid';
import * as solid_js from 'solid-js';
import { Accessor, JSX } from 'solid-js';
import { O as Optional, M as MaybeAccessor } from '../../types-Sr_80hg9.js';
import { HTMLProps, PolymorphicProps } from '../factory.js';

interface UseDateInputProps extends Optional<Omit<dateInput$1.Props, 'dir' | 'getRootNode'>, 'id'> {
}
interface UseDateInputReturn extends Accessor<dateInput$1.Api<PropTypes>> {
}
declare const useDateInput: (props?: MaybeAccessor<UseDateInputProps>) => UseDateInputReturn;

interface UseDateInputContext extends UseDateInputReturn {
}
declare const useDateInputContext: () => UseDateInputContext;

interface DateInputContextProps {
    children: (context: UseDateInputContext) => JSX.Element;
}
declare const DateInputContext: (props: DateInputContextProps) => JSX.Element;

interface DateInputLabelBaseProps extends PolymorphicProps<'label'> {
}
interface DateInputLabelProps extends HTMLProps<'label'>, DateInputLabelBaseProps {
}
declare const DateInputLabel: (props: DateInputLabelProps) => solid_js.JSX.Element;

interface DateInputRootBaseProps extends UseDateInputProps, PolymorphicProps<'div'> {
}
interface DateInputRootProps extends HTMLProps<'div'>, DateInputRootBaseProps {
}
declare const DateInputRoot: (props: DateInputRootProps) => solid_js.JSX.Element;

interface RootProviderProps {
    value: UseDateInputReturn;
}
interface DateInputRootProviderBaseProps extends RootProviderProps, PolymorphicProps<'div'> {
}
interface DateInputRootProviderProps extends HTMLProps<'div'>, DateInputRootProviderBaseProps {
}
declare const DateInputRootProvider: (props: DateInputRootProviderProps) => solid_js.JSX.Element;

interface DateInputSegmentBaseProps extends PolymorphicProps<'span'>, Pick<SegmentProps, 'segment'> {
}
interface DateInputSegmentProps extends HTMLProps<'span'>, DateInputSegmentBaseProps {
}
declare const DateInputSegment: (props: DateInputSegmentProps) => solid_js.JSX.Element;

interface DateInputSegmentGroupBaseProps extends PolymorphicProps<'div'>, SegmentGroupProps {
}
interface DateInputSegmentGroupProps extends HTMLProps<'div'>, DateInputSegmentGroupBaseProps {
}
declare const DateInputSegmentGroup: (props: DateInputSegmentGroupProps) => solid_js.JSX.Element;

interface DateInputHiddenInputBaseProps extends PolymorphicProps<'input'>, HiddenInputProps {
}
interface DateInputHiddenInputProps extends HTMLProps<'input'>, DateInputHiddenInputBaseProps {
}
declare const DateInputHiddenInput: (props: DateInputHiddenInputProps) => solid_js.JSX.Element;

interface DateInputControlBaseProps extends PolymorphicProps<'div'> {
}
interface DateInputControlProps extends HTMLProps<'div'>, DateInputControlBaseProps {
}
declare const DateInputControl: (props: DateInputControlProps) => solid_js.JSX.Element;

interface DateInputSegmentContextProps {
    children: (segment: DateSegment) => JSX.Element;
}
declare const DateInputSegmentContext: (props: DateInputSegmentContextProps) => JSX.Element;

declare namespace dateInput {
  export { DateInputContext as Context, type DateInputContextProps as ContextProps, DateInputControl as Control, type DateInputControlBaseProps as ControlBaseProps, type DateInputControlProps as ControlProps, DateInputHiddenInput as HiddenInput, type DateInputHiddenInputBaseProps as HiddenInputBaseProps, type DateInputHiddenInputProps as HiddenInputProps, DateInputLabel as Label, type DateInputLabelBaseProps as LabelBaseProps, type DateInputLabelProps as LabelProps, DateInputRoot as Root, type DateInputRootBaseProps as RootBaseProps, type DateInputRootProps as RootProps, DateInputRootProvider as RootProvider, type DateInputRootProviderBaseProps as RootProviderBaseProps, type DateInputRootProviderProps as RootProviderProps, DateInputSegment as Segment, type DateInputSegmentBaseProps as SegmentBaseProps, DateInputSegmentContext as SegmentContext, type DateInputSegmentContextProps as SegmentContextProps, DateInputSegmentGroup as SegmentGroup, type DateInputSegmentGroupBaseProps as SegmentGroupBaseProps, type DateInputSegmentGroupProps as SegmentGroupProps, type DateInputSegmentProps as SegmentProps };
}

export { dateInput as DateInput, DateInputContext, type DateInputContextProps, DateInputControl, type DateInputControlBaseProps, type DateInputControlProps, DateInputHiddenInput, type DateInputHiddenInputBaseProps, type DateInputHiddenInputProps, DateInputLabel, type DateInputLabelBaseProps, type DateInputLabelProps, DateInputRoot, type DateInputRootBaseProps, type DateInputRootProps, DateInputRootProvider, type DateInputRootProviderBaseProps, type DateInputRootProviderProps, DateInputSegment, type DateInputSegmentBaseProps, DateInputSegmentContext, type DateInputSegmentContextProps, DateInputSegmentGroup, type DateInputSegmentGroupBaseProps, type DateInputSegmentGroupProps, type DateInputSegmentProps, type UseDateInputContext, type UseDateInputProps, type UseDateInputReturn, useDateInput, useDateInputContext };
