declare class FocusOutEventListener { protected readonly targetElements: ReadonlyArray; protected readonly boundInternalHandler: (event: Event) => void; protected readonly externalHandler: (focusOutEvent: Event, targetElement: Element) => void; protected readonly mustBeCalledOnce: boolean; protected readonly mustKeepDefaultBehaviour: boolean; static createAndAssign(initializationProperties: FocusOutEventListener.InitializationProperties): FocusOutEventListener; constructor({ mustBeCalledOnce, mustKeepDefaultBehaviour, ...initializationProperties }: FocusOutEventListener.InitializationProperties); utilize(): void; private onFocusOut; } declare namespace FocusOutEventListener { type InitializationProperties = Readonly<({ targetElement: Element; } | ({ targetElement: Readonly<{ selector: string; } & ({ mustApplyToAllMatchesWithSelector: true; } | { mustIgnoreSubsequentMatchesWithSelector: true; } | { mustExpectExactlyOneMatchingWithSelector: true; })>; } & { contextElement?: ParentNode | Readonly<{ selector: string; }>; })) & { handler: (focusOutEvent: Event, targetElement: Element) => unknown; mustBeCalledOnce?: boolean; mustKeepDefaultBehaviour?: boolean; }>; } export default FocusOutEventListener;