import { Component, TComponentContext, TComponentProps, TComponentState } from "../../../lib/Component";
type TEventedComponentListener = Component | ((e: Event) => void);
export declare class EventedComponent<Props extends TComponentProps = TComponentProps, State extends TComponentState = TComponentState, Context extends TComponentContext = TComponentContext> extends Component<Props, State, Context> {
    readonly evented: boolean;
    readonly cursor?: string;
    private get events();
    protected unmount(): void;
    protected handleEvent(_: Event): void;
    listenEvents(events: string[], cbOrObject?: TEventedComponentListener): (() => void)[];
    addEventListener(type: string, cbOrObject: TEventedComponentListener): () => void;
    removeEventListener(type: string, cbOrObject: TEventedComponentListener): void;
    _fireEvent(cmp: Component, event: Event): void;
    dispatchEvent(event: Event): boolean;
    _dipping(startParent: Component, event: Event): boolean;
    _hasListener(comp: EventedComponent, type: string): boolean;
}
export {};
