import { HTMLAttributes, ReactNode } from 'react';
interface CommonProgressBarProps extends Omit, 'children'> {
progress: number;
label?: ReactNode;
error?: ReactNode;
orientation?: 'vertical' | 'horizontal';
dir?: 'start' | 'end';
}
interface DefaultProgressBar extends CommonProgressBarProps {
type?: 'default';
successMessage?: ReactNode;
}
interface SmallProgressBar extends CommonProgressBarProps {
type: 'small';
successMessage?: never;
dismissable?: never;
onCancel?: never;
}
interface DismissableProgressBar {
dismissable: true;
onCancel: () => void;
}
interface NonDismissableProgressBar {
dismissable?: false;
onCancel?: never;
}
export type ProgressBarProps = (DefaultProgressBar & (DismissableProgressBar | NonDismissableProgressBar)) | SmallProgressBar;
export {};