import { Config } from '@backstage/config';
import express from 'express';
import { Logger } from 'winston';
import { EntitiesCatalog } from '../catalog/types';
import { LocationAnalyzer } from '../ingestion';
import { CatalogProcessingOrchestrator } from '../processing/types';
import { LocationService, RefreshService } from './types';
import { PluginTaskScheduler } from '@backstage/backend-tasks';
import { AuthService, HttpAuthService } from '@backstage/backend-plugin-api';
/**
 * Options used by {@link createRouter}.
 *
 * @public
 */
export interface RouterOptions {
    entitiesCatalog?: EntitiesCatalog;
    locationAnalyzer?: LocationAnalyzer;
    locationService: LocationService;
    orchestrator?: CatalogProcessingOrchestrator;
    refreshService?: RefreshService;
    scheduler?: PluginTaskScheduler;
    logger: Logger;
    config: Config;
    permissionIntegrationRouter?: express.Router;
    auth: AuthService;
    httpAuth: HttpAuthService;
}
/**
 * Creates a catalog router.
 *
 * @public
 */
export declare function createRouter(options: RouterOptions): Promise<express.Router>;
