import { ScannedPluginPackage } from '../scanner/types';
import { ConfigSchema } from '@backstage/config-loader';
/**
 *
 * @public
 * */
export interface DynamicPluginsSchemasService {
    addDynamicPluginsSchemas(configSchema: ConfigSchema): Promise<{
        schema: ConfigSchema;
    }>;
}
/**
 * A service that provides the config schemas of scanned dynamic plugins.
 *
 * @public
 */
export declare const dynamicPluginsSchemasServiceRef: import("@backstage/backend-plugin-api").ServiceRef<DynamicPluginsSchemasService, "root">;
/**
 * @public
 */
export interface DynamicPluginsSchemasOptions {
    /**
     * Function that returns the path to the Json schema file for a given scanned plugin package.
     * The path is either absolute, or relative to the plugin package root directory.
     *
     * Default behavior is to look for the `dist/configSchema.json` relative path.
     *
     * @param pluginPackage - The scanned plugin package.
     * @returns the absolute or plugin-relative path to the Json schema file.
     */
    schemaLocator?: (pluginPackage: ScannedPluginPackage) => string;
}
/**
 * @public
 */
export declare const dynamicPluginsSchemasServiceFactory: (options?: DynamicPluginsSchemasOptions | undefined) => import("@backstage/backend-plugin-api").ServiceFactory<DynamicPluginsSchemasService, "root">;
