///
import { CustomRender } from '../../commonTypes';
import { COMPONENTS_NAMESPACES } from '../../constants';
import { PartialGlobalDefaultTheme } from '../../utils/useTheme';
/** CountDown properties */
export interface CountDownProps {
/** Классы переданные через _ */
[x: string]: unknown;
/** Формат времени таймера. По-умолчанию mm:ss */
format?: string;
/** Интервал отсчета (в милисекундах, по умолчанию 1000). Чтобы поставить таймер на паузу, передать null */
interval?: number | null;
/** Функция обратного вызова при завершении отсчета таймера */
onComplete?: () => void;
/** Функция обратного вызова при паузе таймера */
onPause?: () => void;
/** Функция обратного вызова при старте таймера */
onStart?: () => void;
/** Функция обратного вызова при каждом изменении таймера */
onTick?: () => void;
/** Текст таймера */
text?: string;
/** Тема компонента */
theme?: PartialGlobalDefaultTheme[typeof COMPONENTS_NAMESPACES.countDown];
/** Стартовое время отсчета (в милисекундах) */
time: number;
/** Кастомизация враппера */
wrapperRender?: CustomRender;
}
/** Current ref of CountDown */
export interface CountDownRefCurrent {
/** Wrapper element */
wrapper: HTMLElement | null;
}
/** Wrapper properties */
export interface WrapperProps extends React.HTMLAttributes {
/** Current ref of wrapper */
ref?: React.Ref;
}