import * as React from 'react';
import { type SlotComponentPropsFromProps } from '@mui/x-internals/types';
import { type BarElementOwnerState } from "./barClasses.js";
import { type BarProps } from "./AnimatedBarElement.js";
export interface BarElementSlots {
  /**
   * The component that renders the bar.
   * @default BarElementPath
   */
  bar?: React.ElementType<BarProps>;
}
export interface BarElementSlotProps {
  bar?: SlotComponentPropsFromProps<BarProps, {}, BarElementOwnerState>;
}
export type BarElementProps = Omit<BarElementOwnerState, 'isFaded' | 'isHighlighted' | 'isFocused'> & Omit<React.SVGProps<SVGRectElement>, 'ref' | 'id'> & {
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps?: BarElementSlotProps;
  /**
   * Overridable component slots.
   * @default {}
   */
  slots?: BarElementSlots;
  x: number;
  xOrigin: number;
  y: number;
  yOrigin: number;
  width: number;
  height: number;
  layout: 'horizontal' | 'vertical';
  skipAnimation: boolean;
  hidden?: boolean;
};
declare function BarElement(props: BarElementProps): import("react/jsx-runtime").JSX.Element;
declare namespace BarElement {
  var propTypes: any;
}
export { BarElement };