import type { Request, Response } from 'express';
import Controller from '../controller.js';
import type { IUnleashConfig } from '../../types/option.js';
import type { IUnleashServices } from '../../services/index.js';
import type { ApplicationSchema } from '../../openapi/spec/application-schema.js';
import type { ApplicationsSchema } from '../../openapi/spec/applications-schema.js';
import type { CreateApplicationSchema } from '../../openapi/spec/create-application-schema.js';
import type { IAuthRequest } from '../unleash-types.js';
import { type ApplicationOverviewSchema } from '../../openapi/spec/application-overview-schema.js';
import { type ApplicationEnvironmentInstancesSchema } from '../../openapi/spec/application-environment-instances-schema.js';
import { type OutdatedSdksSchema } from '../../openapi/spec/outdated-sdks-schema.js';
declare class MetricsController extends Controller {
    private clientInstanceService;
    private flagResolver;
    private openApiService;
    constructor(config: IUnleashConfig, { clientInstanceService, unknownFlagsService, openApiService, }: Pick<IUnleashServices, 'clientInstanceService' | 'unknownFlagsService' | 'openApiService'>);
    deprecated(_req: Request, res: Response): Promise<void>;
    deleteApplication(req: Request<{
        appName: string;
    }>, res: Response): Promise<void>;
    createApplication(req: Request<{
        appName: string;
    }, unknown, CreateApplicationSchema>, res: Response): Promise<void>;
    getApplications(req: IAuthRequest, res: Response<ApplicationsSchema>): Promise<void>;
    getApplication(req: Request<{
        appName: string;
    }>, res: Response<ApplicationSchema>): Promise<void>;
    getApplicationOverview(req: IAuthRequest<{
        appName: string;
    }>, res: Response<ApplicationOverviewSchema>): Promise<void>;
    getOutdatedSdks(_req: Request, res: Response<OutdatedSdksSchema>): Promise<void>;
    getApplicationEnvironmentInstances(req: Request<{
        appName: string;
        environment: string;
    }>, res: Response<ApplicationEnvironmentInstancesSchema>): Promise<void>;
}
export default MetricsController;
//# sourceMappingURL=metrics.d.ts.map