import { BackendFeature } from '../types';
import { BackendModuleRegistrationPoints } from './types';
/**
 * The configuration options passed to {@link createBackendModule}.
 *
 * @public
 * @see {@link https://backstage.io/docs/backend-system/architecture/modules | The architecture of modules}
 * @see {@link https://backstage.io/docs/backend-system/architecture/naming-patterns | Recommended naming patterns}
 */
export interface CreateBackendModuleOptions {
    /**
     * Should exactly match the `id` of the plugin that the module extends.
     *
     * @see {@link https://backstage.io/docs/backend-system/architecture/naming-patterns | Recommended naming patterns}
     */
    pluginId: string;
    /**
     * The ID of this module, used to identify the module and ensure that it is not installed twice.
     */
    moduleId: string;
    register(reg: BackendModuleRegistrationPoints): void;
}
/**
 * Creates a new backend module for a given plugin.
 *
 * @public
 * @see {@link https://backstage.io/docs/backend-system/architecture/modules | The architecture of modules}
 * @see {@link https://backstage.io/docs/backend-system/architecture/naming-patterns | Recommended naming patterns}
 */
export declare function createBackendModule(options: CreateBackendModuleOptions): BackendFeature;
