import { DoublyLinkedList, DoublyLinkedListNode } from "./DoublyLinkedList"; interface Listener { func: (...args: T) => void; scope?: Object; _hasRemoved: boolean; _once: boolean; } export type ListenerHandler = DoublyLinkedListNode>; export declare class ListenerPipe { __dll?: DoublyLinkedList>; __currentListenerStack?: Listener | Listener[]; constructor(); get _dll(): DoublyLinkedList>; _pushCurrentListener(listener: Listener): void; _popCurrentListener(): void; _hasCurrentListener(listener: Listener): boolean; do(...args: T): void; get empty(): boolean; isHandlerValid(handler: ListenerHandler): boolean; nextHandler(handler: ListenerHandler): DoublyLinkedListNode> | undefined; prevHandler(handler: ListenerHandler): DoublyLinkedListNode> | undefined; moveAfter(handler: ListenerHandler, nextHandler: ListenerHandler): void; moveBefore(handler: ListenerHandler, prevHandler: ListenerHandler): void; insertBefore(handler: ListenerHandler, func: (...args: T) => void, scope?: Object, once?: boolean): DoublyLinkedListNode>; insertAfter(handler: ListenerHandler, func: (...args: T) => void, scope?: Object, once?: boolean): DoublyLinkedListNode>; _clearHasRemoved(handler: ListenerHandler): void; remove(handler: ListenerHandler): void; removeAll(): void; destroy(): void; push(func: (...args: T) => void, scope?: Object, once?: boolean): DoublyLinkedListNode>; pop(): void; shift(): void; unshift(func: (...args: T) => void, scope?: Object, once?: boolean): DoublyLinkedListNode>; get tail(): DoublyLinkedListNode> | undefined; get head(): DoublyLinkedListNode> | undefined; } export {};