/**
 * Swagger 2.0 to OpenAPI 3.0 converter
 */
/**
 * Conversion options for Swagger 2.0 to OpenAPI 3.0
 */
export interface ConversionOptions {
    /** Fix up small errors in the source definition */
    patch?: boolean;
    /** Do not throw on non-patchable errors, add warning extensions */
    warnOnly?: boolean;
    /** Resolve internal references also */
    resolveInternal?: boolean;
    /** Override default target version of 3.0.0 */
    targetVersion?: string;
    /** Preserve $ref siblings */
    preserveRefs?: boolean;
    /** Property name to use for warning extensions */
    warnProperty?: string;
    /** URL of original spec, creates x-origin entry */
    url?: string;
    /** Enable debug mode, adds specification-extensions */
    debug?: boolean;
}
/**
 * Conversion result
 */
export interface ConversionResult {
    /** The converted OpenAPI 3.0 specification */
    openapi: any;
    /** Warnings generated during conversion */
    warnings?: string[];
    /** Number of patches applied */
    patches?: number;
    /** Conversion duration in milliseconds */
    duration?: number;
    /** Original specification version */
    originalVersion?: string;
    /** Target specification version */
    targetVersion?: string;
}
/**
 * Swagger 2.0 to OpenAPI 3.0 converter options
 */
export interface Swagger2OpenAPIOptions {
    patch?: boolean;
    warnOnly?: boolean;
    resolveInternal?: boolean;
    targetVersion?: string;
    warnProperty?: string;
    url?: string;
    debug?: boolean;
    refSiblings?: 'remove' | 'preserve' | 'allOf';
    direct?: boolean;
    patches?: number;
    warnings?: string[];
}
/**
 * Swagger 2.0 to OpenAPI 3.0 converter
 */
export declare class Swagger2OpenAPIConverter {
    private options;
    constructor(options?: ConversionOptions);
    /**
     * Convert a Swagger 2.0 specification to OpenAPI 3.0
     */
    convert(swagger2Spec: any): Promise<ConversionResult>;
    /**
     * Convert from object with additional validation
     */
    convertWithValidation(swagger2Spec: any): Promise<ConversionResult>;
    /**
     * Update conversion options
     */
    updateOptions(options: Partial<ConversionOptions>): void;
    /**
     * Get current conversion options
     */
    getOptions(): Swagger2OpenAPIOptions;
}
//# sourceMappingURL=swagger2openapi-converter.d.ts.map