import type { OASStatsAccumulator, AsyncAPIStatsAccumulator } from '../../typings/common.js';
import type { Oas3Parameter, OasRef, Oas3Tag, Oas3_2Tag } from '../../typings/openapi.js';
import type { Oas2Parameter } from '../../typings/swagger.js';
export declare const StatsOAS: (statsAccumulator: OASStatsAccumulator) => {
    ExternalDocs: {
        leave(): void;
    };
    ref: {
        enter(ref: OasRef): void;
    };
    Tag: {
        leave(tag: Oas3Tag | Oas3_2Tag): void;
    };
    Link: {
        leave(link: any): void;
    };
    WebhooksMap: {
        Operation: {
            leave(operation: any): void;
        };
    };
    Paths: {
        PathItem: {
            leave(): void;
            Operation: {
                leave(operation: any): void;
            };
            Parameter: {
                leave(parameter: Oas2Parameter | Oas3Parameter): void;
            };
        };
    };
    NamedSchemas: {
        Schema: {
            leave(): void;
        };
    };
    Root: {
        leave(): void;
    };
};
export declare const StatsAsync2: (statsAccumulator: AsyncAPIStatsAccumulator) => {
    ExternalDocs: {
        leave(): void;
    };
    ref: {
        enter(ref: OasRef): void;
    };
    Tag: {
        leave(tag: Oas3Tag | Oas3_2Tag): void;
    };
    ChannelMap: {
        Channel: {
            leave(): void;
            Operation: {
                leave(operation: any): void;
            };
            Parameter: {
                leave(parameter: any): void;
            };
        };
    };
    NamedSchemas: {
        Schema: {
            leave(): void;
        };
    };
    Root: {
        leave(): void;
    };
};
export declare const StatsAsync3: (statsAccumulator: AsyncAPIStatsAccumulator) => {
    ExternalDocs: {
        leave(): void;
    };
    ref: {
        enter(ref: OasRef): void;
    };
    Tag: {
        leave(tag: Oas3Tag | Oas3_2Tag): void;
    };
    NamedChannels: {
        Channel: {
            leave(): void;
            Parameter: {
                leave(parameter: any): void;
            };
        };
    };
    NamedOperations: {
        Operation: {
            leave(operation: any): void;
        };
    };
    NamedSchemas: {
        Schema: {
            leave(): void;
        };
    };
    Root: {
        leave(): void;
    };
};
//# sourceMappingURL=stats.d.ts.map