@civet/core
Version:
18 lines (17 loc) • 2.64 kB
TypeScript
import { Consumer, ConsumerProps, Provider, ProviderProps, ReactNode } from 'react';
import { GenericDataProvider, InferResponse, InferMetaType, InferOptions, InferQuery, ResourceContextValue, InferContextPluginTypes, InferUIPluginTypes } from './DataProvider';
export type ConfigContextValue<DataProviderI extends GenericDataProvider> = {
dataProvider?: DataProviderI;
};
export declare const ConfigContext: import('react').Context<ConfigContextValue<GenericDataProvider>>;
export declare const ConfigConsumer: Consumer<ConfigContextValue<GenericDataProvider>> & {
<DataProviderI extends GenericDataProvider>(props: ConsumerProps<ConfigContextValue<DataProviderI>>): ReactNode;
};
export declare const useConfigContext: <DataProviderI extends GenericDataProvider>() => ConfigContextValue<DataProviderI>;
export declare const ResourceContextProvider: Provider<ResourceContextValue<GenericDataProvider>> & {
<DataProviderI extends GenericDataProvider, ResponseI extends InferResponse<DataProviderI> = InferResponse<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>, MetaTypeI extends InferMetaType<DataProviderI> = InferMetaType<DataProviderI>>(props: ProviderProps<ResourceContextValue<DataProviderI, ResponseI, QueryI, OptionsI, MetaTypeI> & InferContextPluginTypes<DataProviderI> & InferUIPluginTypes<DataProviderI>>): ReactNode;
};
export declare const ResourceConsumer: Consumer<ResourceContextValue<GenericDataProvider>> & {
<DataProviderI extends GenericDataProvider, ResponseI extends InferResponse<DataProviderI> = InferResponse<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>, MetaTypeI extends InferMetaType<DataProviderI> = InferMetaType<DataProviderI>>(props: ConsumerProps<ResourceContextValue<DataProviderI, ResponseI, QueryI, OptionsI, MetaTypeI> & InferContextPluginTypes<DataProviderI> & InferUIPluginTypes<DataProviderI>>): ReactNode;
};
export declare const useResourceContext: <DataProviderI extends GenericDataProvider, ResponseI extends InferResponse<DataProviderI> = InferResponse<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>, MetaTypeI extends InferMetaType<DataProviderI> = InferMetaType<DataProviderI>>() => ResourceContextValue<DataProviderI, ResponseI, QueryI, OptionsI, MetaTypeI> & InferContextPluginTypes<DataProviderI> & InferUIPluginTypes<DataProviderI>;