import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api';
import { LoggerService } from '@backstage/backend-plugin-api';
import { Entity } from '@backstage/catalog-model';
import { Config } from '@backstage/config';
import { LocationSpec } from '@backstage/plugin-catalog-common';
import { CatalogProcessor, CatalogProcessorEmit } from '@backstage/plugin-catalog-node';
import express from 'express';

declare const catalogPluginGitlabFillerProcessorModule: _backstage_backend_plugin_api.BackendFeature;
declare const gitlabPlugin: _backstage_backend_plugin_api.BackendFeature;

/** @public */
declare class GitlabFillerProcessor implements CatalogProcessor {
    private readonly allowedKinds;
    private readonly gitLabIntegrationsConfig;
    constructor(config: Config);
    getProcessorName(): string;
    postProcessEntity(entity: Entity, location: LocationSpec, _emit: CatalogProcessorEmit): Promise<Entity>;
    private getGitlabSubPath;
    private getGitlabInstanceConfig;
    private isAllowedEntity;
}

interface RouterOptions {
    logger: LoggerService;
    config: Config;
}
declare function createRouter(options: RouterOptions): Promise<express.Router>;

export { GitlabFillerProcessor, type RouterOptions, catalogPluginGitlabFillerProcessorModule, createRouter, gitlabPlugin as default, gitlabPlugin };
