import { type PropsWithChildren, Ref } from 'react'; import type { BehaviorTrackingProps } from '../../../../../core/types/behavior-tracking-props.js'; import type { DataTestId } from '../../../../../core/types/data-props.js'; import type { MaskingProps } from '../../../../../core/types/masking-props.js'; import type { StylingProps } from '../../../../../core/types/styling-props.js'; import type { AriaLabel } from '../../../../core/types/aria-label.js'; import type { MultiMeterBarChartConsumerConfig } from '../../../multi-meter-bar/types/multi-meter-bar-chart-config.js'; import type { MeterBarChartConsumerConfig } from '../../../single-meter-bar/types/meter-bar-chart-config.js'; import type { MeterBarChartElementRef, MeterBarSize } from '../../types/meter-bars.js'; export interface MeterBarLayoutProps extends StylingProps, MaskingProps, DataTestId, AriaLabel, BehaviorTrackingProps { /** * The size that applies to the value, icon, and label. * @defaultvalue 'size16' */ size: MeterBarSize; /** * The chart width. A valid CSS width is expected. * @defaultValue 100% */ width?: number | string; /** * The chart height. A valid CSS height is expected. * @defaultValue 300px */ height?: number | string; /** * The component name used for internal tracking purposes. */ 'data-dt-component': string; /** * A ref object that exposes imperative methods for the meter bar chart element. */ userRef?: Ref; /** * Configuration passed from the consumer chart component (e.g. MeterBarChart or MultiMeterBarChart). */ consumerConfig?: MeterBarChartConsumerConfig | MultiMeterBarChartConsumerConfig; } /** * Component responsible for defining the layout of the meter bars. * The layout is divided in the labels area (icon, label and value), chart area and legend area. */ export declare const MeterBarLayoutRoot: (props: MeterBarLayoutProps & { children?: import("react").ReactNode | undefined; } & import("react").RefAttributes) => import("react").ReactElement | null; /** Slot component for meter bar */ export declare const MeterBarLayout: ((props: MeterBarLayoutProps & { children?: import("react").ReactNode | undefined; } & import("react").RefAttributes) => import("react").ReactElement | null) & { Label: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element | null; Min: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element | null; Max: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element | null; Chart: { ({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element; displayName: string; }; Value: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element | null; Icon: { ({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element | null; displayName: string; }; Providers: { (_: import("./slots/Providers.js").MeterBarLayoutProvidersProps): null; displayName: string; }; Legend: { ({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element | null; displayName: string; }; };