/**
 * @public
 */
export type EventTargetType = 'self' | 'window' | 'document';
/**
 * @public
 */
export interface SelfQueryTarget {
    /**
     * The target selector for the event listener.
     */
    target: string;
}
/**
 * @public
 */
export interface IListenOptions extends AddEventListenerOptions {
    preventDefault?: boolean;
}
/**
 * A method decorator that listens to a specific event on a target element.
 *
 * @example
 * ```typescript
 * class MyElement extends HTMLElement {
 *    @Listen('click', 'self', { preventDefault: true })
 *    handleClick(event: MouseEvent) {
 *        console.log('Element clicked!', event);
 *   }
 * }
 * ```
 *
 * @public
 */
export declare function Listen(eventName: string, target?: EventTargetType | SelfQueryTarget, options?: IListenOptions): any;
//# sourceMappingURL=ListenDecorator.d.ts.map