/**
 * OpenAPI 3.1 Specification Generator
 * Generates OpenAPI documentation from NeuroLink server routes
 */
import type { OpenAPIGeneratorConfig, OpenAPISpec, RouteDefinition, ServerAdapterConfig } from "../../types/index.js";
/**
 * OpenAPI specification generator
 * Generates OpenAPI 3.1 compliant documentation from route definitions
 */
export declare class OpenAPIGenerator {
    private config;
    private routes;
    constructor(config?: OpenAPIGeneratorConfig);
    /**
     * Add routes to the generator
     */
    addRoutes(routes: RouteDefinition[]): void;
    /**
     * Add a single route
     */
    addRoute(route: RouteDefinition): void;
    /**
     * Generate the OpenAPI specification
     */
    generate(): OpenAPISpec;
    /**
     * Generate OpenAPI spec as JSON string
     */
    toJSON(pretty?: boolean): string;
    /**
     * Generate OpenAPI spec as YAML string
     * Note: For full YAML support, use a YAML library
     */
    toYAML(): string;
    private generateInfo;
    private generateServers;
    private generateTags;
    private generatePaths;
    private generateDefaultPaths;
    private generateOperation;
    private generateComponents;
    private convertPath;
    private extractPathParameters;
    /**
     * Simple JSON to YAML converter
     * For production use, consider using a proper YAML library
     */
    private jsonToYaml;
}
/**
 * Create an OpenAPI generator with default configuration
 */
export declare function createOpenAPIGenerator(config?: OpenAPIGeneratorConfig): OpenAPIGenerator;
/**
 * Generate OpenAPI spec from routes
 */
export declare function generateOpenAPISpec(routes: RouteDefinition[], config?: OpenAPIGeneratorConfig): OpenAPISpec;
/**
 * Generate OpenAPI spec from server adapter configuration
 */
export declare function generateOpenAPIFromConfig(serverConfig: ServerAdapterConfig, routes?: RouteDefinition[]): OpenAPISpec;
