export interface ListenerBinding { targetId: string; customIds?: string[]; matchId?: string; options?: ListenerBindingOptions; } export interface ListenerBindingList { bindings: Record; fnId: string; id: string[]; index: number; } export interface ListenerBindingOptions { append?: boolean | number; index?: number; intercept?: boolean; listener?: boolean; once?: boolean; peek?: boolean; prepend?: boolean | number; return?: boolean; } export declare type ListenerBindings = string | (string | ListenerBindingOptions)[]; export declare class Bindings { bindings: ListenerBinding[]; matchId: string; targetIds: Set; constructor(matchId?: string); add(...bindings: ListenerBindings[]): Bindings; addBinding({ customIds, options, targetId, }: ListenerBinding): void; remove(binding: ListenerBinding): void; static list(_lid: string[], { bindings, fnId, id, index }: ListenerBindingList): [ListenerBinding, number][]; private static listSort; private static optsToIndex; private separateOptions; }