import { MeterProps as AriaMeterProps } from 'react-aria-components/Meter';
import { ContextValue } from 'react-aria-components/slots';
import { ReactNode } from 'react';
import { DOMRefValue, GlobalDOMAttributes, LabelPosition } from '@react-types/shared';
import { StyleProps } from './style-utils';
interface MeterStyleProps {
    /** The [visual style](https://spectrum.adobe.com/page/meter/#-Options) of the Meter.
     * @default 'informative'
     */
    variant?: 'informative' | 'positive' | 'notice' | 'negative';
    /**
     * The size of the Meter.
     *
     * @default 'M'
     */
    size?: 'S' | 'M' | 'L' | 'XL';
    /**
     * The static color style to apply. Useful when the button appears over a color background.
     */
    staticColor?: 'white' | 'black' | 'auto';
    /**
     * The label's overall position relative to the element it is labeling.
     * @default 'top'
     */
    labelPosition?: LabelPosition;
}
export interface MeterProps extends Omit<AriaMeterProps, 'children' | 'className' | 'style' | 'render' | keyof GlobalDOMAttributes>, MeterStyleProps, StyleProps {
    /** The content to display as the label. */
    label?: ReactNode;
}
export declare const MeterContext: import("react").Context<ContextValue<Partial<MeterProps>, DOMRefValue<HTMLDivElement>>>;
/**
 * Meters are visual representations of a quantity or an achievement.
 * Their progress is determined by user actions, rather than system actions.
 */
export declare const Meter: import("react").ForwardRefExoticComponent<MeterProps & import("react").RefAttributes<DOMRefValue<HTMLDivElement>>>;
export {};
