import { ModuleMetadata } from "@nestjs/common/interfaces"; import { Type } from "@pickerjs/common/lib/shared-types"; import { DocumentNode } from "graphql"; import { RuntimePickerConfig } from "../config"; export interface PickerPluginMetadata extends ModuleMetadata { configuration?: PluginConfigurationFn; apiExtensions?: APIExtensionDefinition; entities?: Array> | (() => Array>); } export interface APIExtensionDefinition { schema?: DocumentNode | (() => DocumentNode | undefined); resolvers: Array> | (() => Array>); } export declare type PluginConfigurationFn = (config: RuntimePickerConfig) => RuntimePickerConfig | Promise; export declare function PickerPlugin(pluginMetadata: PickerPluginMetadata): ClassDecorator;