import { Dispatch, HTMLAttributes, ReactElement, SetStateAction } from 'react';

export interface RipplesProps extends HTMLAttributes<HTMLElement> {
    children?: ReactElement[];
}

export interface RipplePropsForComponents<T> extends HTMLAttributes<T> {
    centralRipple?: boolean;
}

export interface RippleAreaProps extends HTMLAttributes<HTMLElement> {
    callback: Dispatch<SetStateAction<boolean>>;
    central?: boolean;
}

export interface RippleProps extends HTMLAttributes<HTMLElement> {
    rippleX: number;
    rippleY: number;
    rippleS: number;
    endLifetime?: () => void;
    lifetime: number;
    key?: number;
}
