import type { ProgressSize } from '@gravity-ui/uikit'; import type { FormatProgressViewerValues } from '../../utils/progress'; import type { MemorySegment } from '../MemoryViewer/utils'; export interface ProgressWrapperBaseProps { formatValues?: FormatProgressViewerValues; className?: string; width?: number | 'full'; size?: ProgressSize; withCapacityUsage?: boolean; } export interface ProgressWrapperSingleProps extends ProgressWrapperBaseProps { value?: number | string; capacity?: number | string; stack?: never; } export interface ProgressWrapperStackProps extends ProgressWrapperBaseProps { stack: MemorySegment[]; totalCapacity?: number | string; value?: never; capacity?: never; } export type ProgressWrapperProps = ProgressWrapperSingleProps | ProgressWrapperStackProps; export interface ProgressContainerProps { children: React.ReactNode; displayText?: string; withCapacityUsage?: boolean; className?: string; width?: number | 'full'; }