import { FC, ReactNode } from "react";
import { PanelFieldConfig } from '../../../../../../../../page/app/components/InspectPanel/interface';
import { ViewItemShape } from "../interface";
import { ComponentMapNode } from '../../../../../../../../utils/generators/interface';
interface ProviderProps {
    viewsList: ViewItemShape[];
    childrenSetter: PanelFieldConfig[];
    widgetDisplayName: string;
    attrPath: string;
    componentNode: ComponentMapNode;
    handleUpdateDsl: (attrPath: string, value: any) => void;
    handleUpdateMultiAttrDSL?: (updateSlice: Record<string, any>) => void;
    handleUpdateExecutionResult?: (displayName: string, updateSlice: Record<string, any>) => void;
    handleUpdateOtherMultiAttrDSL?: (displayName: string, updateSlice: Record<string, any>) => void;
    children: ReactNode;
}
interface Inject extends Omit<ProviderProps, "children"> {
    currentViewIndex: number;
    handleDeleteOptionItem: (index: number) => void;
    handleCopyOptionItem: (index: number) => void;
    handleUpdateCurrentViewIndex: (index: number) => void;
    handleMoveOptionItem: (dragIndex: number, hoverIndex: number) => void;
}
export declare const ViewListSetterContext: import("react").Context<Inject>;
export declare const ViewListSetterProvider: FC<ProviderProps>;
export {};
