import * as React from 'react';
import { CoreAdminContextProps } from './CoreAdminContext';
import { CoreAdminUIProps } from './CoreAdminUI';
/**
* Main admin component, entry point to the application.
*
* Initializes the various contexts (auth, data, i18n, router)
* and defines the main routes.
*
* Expects a list of resources as children, or a function returning a list of
* resources based on the permissions.
*
* @example
*
* // static list of resources
*
* import {
* CoreAdmin,
* Resource,
* ListGuesser,
* useDataProvider,
* } from 'ra-core';
*
* const App = () => (
*
*
*
* );
*
* // dynamic list of resources based on permissions
*
* import {
* CoreAdmin,
* Resource,
* ListGuesser,
* useDataProvider,
* } from 'ra-core';
*
* const App = () => (
*
* {permissions => [
* ,
* ]}
*
* );
*
* // If you have to build a dynamic list of resources using a side effect,
* // you can't use . But as it delegates to sub components,
* // it's relatively straightforward to replace it:
*
* import * as React from 'react';
* import { useEffect, useState } from 'react';
* import {
* CoreAdminContext,
* CoreAdminUI,
* Resource,
* ListGuesser,
* useDataProvider,
* } from 'ra-core';
*
* const App = () => (
*
*
*
* );
*
* const UI = () => {
* const [resources, setResources] = useState([]);
* const dataProvider = useDataProvider();
* useEffect(() => {
* dataProvider.introspect().then(r => setResources(r));
* }, []);
*
* return (
*
* {resources.map(resource => (
*
* ))}
*
* );
* };
*/
export declare const CoreAdmin: (props: CoreAdminProps) => React.JSX.Element;
export type CoreAdminProps = CoreAdminContextProps & CoreAdminUIProps;
//# sourceMappingURL=CoreAdmin.d.ts.map