import { ElementType } from 'react';
import { ClassValue } from 'clsx';
import { OverrideProps, SxProps } from '../../types/utils.js';
import { DividerVariants } from '../../theme/recipes/divider.js';

interface DividerPropsOverrides {
}
type DividerOwnProps<RootComponent extends ElementType> = {
    /**
     * The component used for the root node.
     * @default 'hr'
     */
    as?: RootComponent;
    /**
     * The system prop that allows defining system overrides as well as additional CSS styles.
     */
    sx?: SxProps<DividerOwnProps<RootComponent>>;
    /**
     * Additional class names to apply to the root element.
     */
    className?: ClassValue;
    /**
     * The orientation of the divider.
     * @default 'horizontal'
     */
    orientation?: DividerVariants['orientation'];
};
type DividerProps<RootComponent extends ElementType = 'hr'> = OverrideProps<RootComponent, DividerOwnProps<RootComponent>, DividerPropsOverrides>;
type DividerOwnerState<RootComponent extends ElementType = 'hr'> = DividerProps<RootComponent> & {
    orientation: DividerVariants['orientation'];
};

export type { DividerOwnerState, DividerProps, DividerPropsOverrides };
