import type { TsConfig } from '@trapi/metadata';
import type { OptionsInput } from '../config';
import { Version } from '../constants';
import type { SpecV2, SpecV3 } from '../schema';
export declare function buildMetadata(options: OptionsInput, tsConfig?: TsConfig | string): Promise<import("@trapi/metadata").Metadata>;
export type DocumentationGenerationContext<V extends `${Version}`> = {
    version: V;
    options: OptionsInput;
    tsConfig?: TsConfig | string;
};
type OutputSpec<V extends `${Version}`> = V extends `${Version.V2}` ? SpecV2 : SpecV3;
export declare function generate<V extends `${Version}`>(context: DocumentationGenerationContext<V>): Promise<OutputSpec<V>>;
export {};
//# sourceMappingURL=module.d.ts.map