import React from "react";
import { CopyInfo } from "./types";
import { Schema } from "../utils/schema";
type targetLocal = "leftTop" | "rightBottom";
export type HolderContextMenuAttr = {
    local: [number, number];
    items: {
        label: React.ReactNode;
        onClick?: () => void;
    }[];
    target?: string;
};
export interface DesignViewsContextProps {
    /**容器 */
    wapperRef: React.RefObject<HTMLDivElement>;
    /**复制信息 */
    copyInfo?: CopyInfo;
    setCopyInfo: React.Dispatch<React.SetStateAction<CopyInfo | undefined>>;
    /**当前剪切对象 */
    shearKey?: string;
    setShearKey: React.Dispatch<React.SetStateAction<string | undefined>>;
    /**根组件聚焦状态 */
    holderToRoot: boolean;
    setHolderToRoot: React.Dispatch<React.SetStateAction<boolean>>;
    /**插槽聚焦状态 */
    holderToDrop?: string;
    setHolderToDrop: React.Dispatch<React.SetStateAction<string | undefined>>;
    /**插槽容器聚焦状态 */
    holderToDropWapper?: string;
    setHolderToDropWapper: React.Dispatch<React.SetStateAction<string | undefined>>;
    /**组件聚焦状态 */
    holderToWidget?: string;
    setHolderToWidget: React.Dispatch<React.SetStateAction<string | undefined>>;
    /**组件聚焦的位置 */
    holderToWidgetLocal?: targetLocal;
    setHolderToWidgetLocal: React.Dispatch<React.SetStateAction<targetLocal | undefined>>;
    /**右键菜单 */
    holderContextMenuAttr?: HolderContextMenuAttr;
    setHolderContextMenuAttr: React.Dispatch<React.SetStateAction<HolderContextMenuAttr | undefined>>;
}
export declare const DesignViewsContextProvider: React.FC<{
    children?: React.ReactNode;
}>;
export declare const useDesignViewsContext: () => DesignViewsContextProps;
export interface SchemaContextProps {
    schema: Schema;
}
export declare const SchemaContextProvider: React.FC<{
    children?: React.ReactNode;
    value: SchemaContextProps;
}>;
export declare const useSchemaContext: () => SchemaContextProps;
export {};
