import type { Directive, Widget, WidgetFactory } from '../../types'; import type { WidgetsCommonPropsAndState } from '../commonProps'; interface ProgressbarCommonPropsAndState extends WidgetsCommonPropsAndState { /** * The minimum value. * * @defaultValue `0` */ min: number; /** * The maximum value. * * @defaultValue `100` */ max: number; /** * The current value. * * @defaultValue `0` */ value: number; /** * The aria label. * * @defaultValue `'Progressbar'` */ ariaLabel: string; } /** * Interface representing directives for a progress bar component. */ export interface ProgressbarDirectives { /** * A directive to be applied to the main container that handles aria attributes. */ ariaDirective: Directive; } /** * Represents the state of a progress bar component. */ export interface ProgressbarState extends ProgressbarCommonPropsAndState { /** * Percentage of completion. */ percentage: number; /** * `true` if the value is above its minimum value. */ started: boolean; /** * `true` if the value has reached its maximum value. */ finished: boolean; /** * The aria value text. */ ariaValueText: string | undefined; } /** * Interface representing the properties for the Progressbar component. */ export interface ProgressbarProps extends ProgressbarCommonPropsAndState { /** * Return the value for the 'aria-valuetext' attribute. * @param value - current value * @param minimum - minimum value * @param maximum - maximum value * * @defaultValue * ```ts * () => undefined * ``` */ ariaValueTextFn: (value: number, minimum: number, maximum: number) => string | undefined; } /** * Represents a Progressbar widget with specific properties, state, API, and directives. */ export type ProgressbarWidget = Widget; /** * Retrieve a shallow copy of the default Progressbar config * @returns the default Progressbar config */ export declare function getProgressbarDefaultConfig(): ProgressbarProps; /** * Create an ProgressbarWidget with given config props * @param config - an optional progress bar config * @returns an ProgressbarWidget */ export declare const createProgressbar: WidgetFactory; export {};