import { GeneralFunction } from '@asherng/common-types'; type SetTimeOutType = number | undefined; interface UseDebounceBaseOptions { maxWait?: number; leading?: boolean; trailing?: boolean; } interface UseDebouncedCallbackOptions extends UseDebounceBaseOptions { } type UseDebouncedCallback = (callback: T, delay: number, options?: UseDebouncedCallbackOptions) => [T, GeneralFunction, GeneralFunction]; export { SetTimeOutType, UseDebounceBaseOptions, UseDebouncedCallback, UseDebouncedCallbackOptions };