import { GenericDataProviderImplementation } from './DataProvider'; import { Constructor } from './utilityTypes'; type InstanceTypeExtension any, InstanceTypeExtension> = Pick & Constructor, InstanceType & InstanceTypeExtension>; type PluginBaseDataProvider = Pick & Constructor>; type PluginExtendedDataProvider = InstanceTypeExtension, PluginTypes>; export type DataProviderImplementationWithPlugin = InstanceTypeExtension; export type DataProviderPlugin = (baseDataProviderClass: BaseDataProviderT) => DataProviderImplementationWithPlugin; export default function createPlugin(plugin: (baseDataProviderClass: PluginBaseDataProvider) => PluginExtendedDataProvider): DataProviderPlugin; export {};