import { MutableRefObject } from 'react';
export interface IUseWaveAnimationOptions<T extends HTMLElement, U extends HTMLElement> {
    disabled?: boolean;
    elementRef?: MutableRefObject<T | null>;
    eventType?: string;
    pseudoElement?: 'before' | 'after';
    triggerRef?: MutableRefObject<U | null>;
}
export declare type IUseWaveAnimationResult<T extends HTMLElement, U extends HTMLElement> = MutableRefObject<(HTMLElement extends U ? T : U) | null>;
export declare function useWaveAnimation<T extends HTMLElement, U extends HTMLElement = HTMLElement>(options?: IUseWaveAnimationOptions<T, U>): IUseWaveAnimationResult<T, U>;
