import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { ServerInstance, ServerRunSpec } from '@vessl-ai/mcpctl-shared/types/domain/server';
import { AppCacheService } from '../cache/appcache.service';
import { SecretService } from '../secret/secret.service';
export declare class ServerService implements OnModuleInit, OnModuleDestroy {
    private readonly appCacheService;
    private readonly configService;
    private readonly secretService;
    private readonly logger;
    constructor(appCacheService: AppCacheService, configService: ConfigService, secretService: SecretService);
    private instances;
    onModuleInit(): Promise<void>;
    onModuleDestroy(): Promise<void>;
    private getServerInstances;
    private setServerInstances;
    createLogFile(params: {
        instanceId: string;
    }): Promise<{
        logFile: string;
    }>;
    start(runSpec: ServerRunSpec): Promise<ServerInstance>;
    private resolveSecret;
    private initializeServerInstance;
    private startServer;
    private startStdioServer;
    private startSseServer;
    private startStreamableHttpServer;
    private upsertRunSpecList;
    private upsertInstanceList;
    private deleteRunSpecList;
    private deleteInstanceList;
    stopInstance(name: string): Promise<ServerInstance>;
    restartInstance(name: string): Promise<ServerInstance>;
    listInstances(): Promise<ServerInstance[]>;
    listRunSpecs(): Promise<ServerRunSpec[]>;
    getInstanceByName(name: string): Promise<ServerInstance | undefined>;
    getRunSpecByName(name: string): Promise<ServerRunSpec | undefined>;
    dispose(): Promise<void>;
    private sanitizeResponseInstance;
    private sanitizeResponseInstanceList;
    removeServerInstance(serverName: string): Promise<void>;
}
//# sourceMappingURL=server.service.d.ts.map