export declare const eventHandler: unique symbol;
type Constructor<T = object> = new (...args: any[]) => T;
/**
 * This mixin adds events listeners for DOM events related to the AMF store.
 * It does not provide implementations for the functions called by each handler.
 * This to be mixed in with an instance of the `AmfStoreService`.
 *
 * The implementation by default listens on the `window` object.
 * Set `eventsTarget` property to listen to the events on a specific node.
 *
 * @mixin
 */
export interface AmfStoreDomEventsMixinInterface {
    [eventHandler](e: CustomEvent): void;
    /**
     * Listens for the store DOM events.
     */
    listen(node?: EventTarget): void;
    /**
     * Removes store's DOM events.
     */
    unlisten(node?: EventTarget): void;
}
/**
 * This mixin adds events listeners for DOM events related to the AMF store.
 * It does not provide implementations for the functions called by each handler.
 * This to be mixed in with an instance of the `AmfStoreService`.
 *
 * The implementation by default listens on the `window` object.
 * Set `eventsTarget` property to listen to the events on a specific node.
 *
 * @TODO: Add event listeners after removing the events target listener.
 *
 * @mixin
 */
export declare const AmfStoreDomEventsMixin: <T extends Constructor<any>>(superClass: T) => Constructor<AmfStoreDomEventsMixinInterface> & T;
export {};
//# sourceMappingURL=AmfStoreDomEventsMixin.d.ts.map