import { MouseEvent, Key } from 'react';
import { ReactRef } from '@faiz-ui/react-utils';

interface UseRippleProps {
    /**
     * color of the ripple
     */
    color?: string;
    /**
     * Ref to the Ripple.
     */
    ref?: ReactRef<{
        addRipple: (e: MouseEvent<HTMLElement>) => void;
    }>;
}
type TRipple = {
    key: Key;
    x: number;
    y: number;
    size: number;
};
declare function useRipple(props: UseRippleProps): {
    ripples: TRipple[];
    onClick: (e: MouseEvent<HTMLElement>) => void;
    onClear: (key: Key) => void;
    color: string;
};
type UseRippleReturn = ReturnType<typeof useRipple>;

export { TRipple, UseRippleProps, UseRippleReturn, useRipple };
