import { IPopupInstance, IWidget, PopupManager, PopupType } from '@oinone/kunlun-engine';
import { VisibleArea } from '@oinone/kunlun-environment';
import { EventConsumer, EventMessage } from '@oinone/kunlun-event';
import { VueWidget } from '@oinone/kunlun-vue-widget';
import { ComponentInternalInstance, VNode } from 'vue';
declare type MaybeVNodeDom = HTMLElement & {
    __vnode?: VNode;
    __vueParentComponent?: ComponentInternalInstance | null;
};
declare type WidgetCollection = {
    widgets: IWidget[];
    viewWidgets: WidgetEntity[];
};
declare type WidgetEntity = {
    widget: IWidget;
    range: VisibleArea;
    index: number;
};
export declare class EnvironmentWidget extends VueWidget {
    protected mousedownEventConsumer?: EventConsumer;
    protected mouseupEventConsumer?: EventConsumer;
    protected mousemoveEventConsumer?: EventConsumer;
    protected get maxOffsetX(): number;
    protected get maxOffsetY(): number;
    private mousedownActive;
    private pointRecord;
    private addedActivatedClassEls;
    protected onMouseClick(self: EventConsumer, message: EventMessage<PointerEvent>): void;
    protected clearClickActivatedClass(): void;
    protected refreshClickActivatedClass(viewWidgets: WidgetEntity[]): {
        clickVisibleArea: VisibleArea[];
        addedActivatedClassEls: HTMLElement[];
    };
    protected collectionComponentInstances(target: MaybeVNodeDom): WidgetCollection | undefined;
    protected $$collectionWidgetCollection(widget: IWidget): {
        widgets: IWidget<import("@oinone/kunlun-engine").WidgetProps>[];
        viewWidgets: WidgetEntity[];
    };
    protected getWidgetHandle(target: ComponentInternalInstance): string | undefined;
    protected getWidgetProp(target: ComponentInternalInstance, key: string): string | undefined;
    protected onMousedown(self: EventConsumer, message: EventMessage<PointerEvent>): void;
    protected onMouseup(self: EventConsumer, message: EventMessage<PointerEvent>): void;
    protected onMousemove(self: EventConsumer, message: EventMessage<PointerEvent>): void;
    protected onPopupOpen(manager: PopupManager, instance: IPopupInstance): void;
    protected generatorPopupWidgetContentSelector(key: string, type: PopupType): string;
    protected onPopupClose(manager: PopupManager, instance: IPopupInstance): void;
    protected $$mounted(): void;
    protected $$unmounted(): void;
}
export {};
