import { OpenAPIV3 } from 'openapi-types';
export interface TransformContext {
    resourceType: 'endpoint' | 'schema';
    format: 'openapi' | 'asyncapi' | 'graphql';
    path?: string;
    method?: string;
}
export interface ReferenceObject {
    $ref: string;
}
export interface TransformedReference {
    $ref: string;
}
export interface ReferenceTransform<T> {
    transformRefs(document: T, context: TransformContext): T;
}
export declare class ReferenceTransformService {
    private transformers;
    registerTransformer<T>(format: string, transformer: ReferenceTransform<T>): void;
    transformDocument<T>(document: T, context: TransformContext): T;
}
export declare class OpenAPITransformer implements ReferenceTransform<OpenAPIV3.Document> {
    private transformObject;
    private isReferenceObject;
    private transformReference;
    transformRefs(document: OpenAPIV3.Document, context: TransformContext): OpenAPIV3.Document;
}
