import { Controller } from '@hotwired/stimulus'; type TOutletEventLookup = boolean | { [k: string]: TOutletEventLookup; }; export type TOutletChangeData = { eventKey?: string; data?: T; } | undefined; export default class OutletManagerController extends Controller { #private; static values: { outletEvents: ArrayConstructor; }; readonly outletEventsValue: Array; readonly hasOutletEventsValue: boolean; static outlets: string[]; readonly toggleableOutlets: Array>; readonly hasToggleableOutlet: boolean; readonly optionsOutlets: Array>; readonly hasOptionsOutlet: boolean; readonly stringMatchOutlets: Array>; readonly hasStringMatchOutlet: boolean; outletEventsLookup: TOutletEventLookup | null; static domEvents: { [k: string]: boolean; }; eventRecords: Map; getOutlets(): Array> | null | void; outletUpdate(event: Event, data: TOutletChangeData): void; getState(): T; connect(): void; syncOutlets(): void; sendToOutlets(event: Event, updateTo?: TOutletChangeData): void; isListeningForOutletEvent(eventTypes: string): boolean; isDOMEventName(eventName: string): boolean; getEventKey(event: Event): string; hasHeardEvent(event: Event): boolean; get event_key_prefix(): string; get event_key_postfix(): string; get outletEvents(): TOutletEventLookup; } export {};