/**
 * Attach an event listener with auto-cleanup.
 *
 * @example
 * ```ts
 * // Listen on window (default)
 * useEventListener('resize', () => console.log('resized'))
 *
 * // Listen on document
 * useEventListener('click', handler, { target: document })
 *
 * // Listen on a specific element by selector
 * useEventListener('click', handler, { target: '#my-button' })
 *
 * // Manual removal
 * const { remove } = useEventListener('scroll', handler)
 * remove()
 * ```
 */
export declare function useEventListener(event: string, handler: EventListenerOrEventListenerObject, options?: UseEventListenerOptions): EventListenerRef;
/**
 * useEventListener - Event listener composable with auto-cleanup
 *
 * Attaches event listeners and automatically removes them on component destroy.
 * Replaces raw `window.addEventListener` / `document.addEventListener` usage.
 */
export declare interface UseEventListenerOptions {
  target?: EventTarget | string
  capture?: boolean
  passive?: boolean
  once?: boolean
}
export declare interface EventListenerRef {
  remove: () => void
}
