/************
Processor: ts
************/

import __beyond_dep_def_0 from 'react';
import * as __beyond_dep_ns_1 from '@beyond-js/reactive/model';
import * as __beyond_dep_ns_2 from 'pragmate-ui/base';
// container.tsx
declare namespace ns_0 {
  import React = __beyond_dep_def_0;
  export function ContextMenuContainer({
    children
  }: {
    children: any;
  }): React.JSX.Element;
}


// context-menu.ts
declare namespace ns_1 {
  import ReactiveModel = __beyond_dep_ns_1.ReactiveModel;
  export class ContextMenu extends ReactiveModel<ContextMenu> {
    private _event;
    constructor();
    get event(): MouseEvent | null;
    get currentTarget(): EventTarget | null;
    get target(): EventTarget | null;
    private init;
  }
  export const ContextMenuManager: ContextMenu;
}


// context.tsx
declare namespace ns_2 {
  import React = __beyond_dep_def_0;
  import IContextMenu = ns_3.IContextMenu;
  export const ContextMenuContext: React.Context<IContextMenu>;
  export const useContextMenuContext: () => IContextMenu;
}


// definitions.ts
declare namespace ns_3 {
  import IPUIProps = __beyond_dep_ns_2.IPUIProps;
  export interface IContextMenuProps extends Omit<IPUIProps<IContextMenuProps>, 'variant'> {
    unmount?: (value: boolean) => void;
  }
  export interface IContextMenu {
    opened?: boolean;
    position?: {
      x: number;
      y: number;
    };
    closeContextMenu: () => void;
  }
}


// index.tsx
declare namespace ns_4 {
  import React = __beyond_dep_def_0;
  import IContextMenuProps = ns_3.IContextMenuProps;
  export function ContextMenu({
    className,
    unmount,
    children
  }: IContextMenuProps): React.JSX.Element;
}


// item.tsx
declare namespace ns_5 {
  import React = __beyond_dep_def_0;
  interface ContextItemProps {
    onClick: (event: any) => void;
    icon?: string;
    label: string;
  }
  export function ContextItem({
    onClick,
    icon,
    label
  }: ContextItemProps): React.JSX.Element;
  export {};
}


// use-context.tsx
declare namespace ns_6 {
  import React = __beyond_dep_def_0;
  export function useContextMenu(container: HTMLElement, ref: React.RefObject<HTMLDivElement>, position: {
    x: number;
    y: number;
  }, unmount: (flag: boolean) => void): void;
}


export import ContextMenuContainer = ns_0.ContextMenuContainer;
export import ContextMenuManager = ns_1.ContextMenuManager;
export import ContextMenu = ns_4.ContextMenu;
export import ContextItem = ns_5.ContextItem;

export declare const hmr: {on: (event: string, listener: any) => void, off: (event: string, listener: any) => void };