///
import { RouteObject } from 'react-router-dom';
import { type ResourceProps } from '@refinedev/core';
import { userMenuItem } from './config';
interface ResourceModuleProps extends ResourceProps {
/**
* @deprecated change the name to listComponent
*/
listElenemt?: React.ReactNode | null;
/**
* @deprecated change the name to createComponent
*/
createElenemt?: React.ReactNode | null;
/**
* @deprecated change the name to cloneComponent
*/
cloneElenemt?: React.ReactNode | null;
/**
* @deprecated change the name to editComponent
*/
editElenemt?: React.ReactNode | null;
/**
* @deprecated change the name to showComponent
*/
showElenemt?: React.ReactNode | null;
listComponent?: React.ReactNode | null;
createComponent?: React.ReactNode | null;
cloneComponent?: React.ReactNode | null;
editComponent?: React.ReactNode | null;
showComponent?: React.ReactNode | null;
}
interface ResourceIndex {
name: string;
component: React.ReactNode;
}
export interface App {
addIndexs: (index: ResourceIndex[]) => void;
getIndexs: () => ResourceIndex[];
addRouter: (routes: RouteObject[]) => void;
getRouter: () => RouteObject[];
addResources: (resource: ResourceModuleProps[]) => void;
getResources: () => ResourceProps[];
getUserMenu: () => Array;
setUserMenu: (menu: Array) => void;
}
export declare const createApp: () => App;
export declare const useWindowSize: () => [number, Record];
export {};