import { type ApiModel, type ApiItem, ApiItemKind } from '@microsoft/api-extractor-model';
import { type DeclarationReference } from '@microsoft/tsdoc/lib-commonjs/beta/DeclarationReference';
import type { IYamlItem } from '../yaml/IYamlApiFile';
import type { IYamlTocFile, IYamlTocItem } from '../yaml/IYamlTocFile';
export type YamlFormat = 'udp' | 'sdp';
/**
 * Writes documentation in the Universal Reference YAML file format, as defined by typescript.schema.json.
 */
export declare class YamlDocumenter {
    #private;
    protected readonly newDocfxNamespaces: boolean;
    constructor(apiModel: ApiModel, newDocfxNamespaces?: boolean, yamlFormat?: YamlFormat);
    /** @virtual */
    generateFiles(outputFolder: string): void;
    /** @virtual */
    protected onGetTocRoot(): IYamlTocItem;
    /** @virtual */
    protected onCustomizeYamlItem(yamlItem: IYamlItem): void;
    protected _getLogicalChildren(apiItem: ApiItem): ApiItem[];
    /** @virtual */
    protected buildYamlTocFile(apiItems: ReadonlyArray<ApiItem>): IYamlTocFile;
    /** @virtual */
    protected _getTocItemName(apiItem: ApiItem): string;
    protected _shouldEmbed(apiItemKind: ApiItemKind): boolean;
    protected _shouldInclude(apiItemKind: ApiItemKind): boolean;
    /**
     * Calculate the DocFX "uid" for the ApiItem
     * Example:  `node-core-library!JsonFile#load`
     */
    protected _getUid(apiItem: ApiItem): string;
    protected _getUidObject(apiItem: ApiItem): DeclarationReference;
}
//# sourceMappingURL=YamlDocumenter.d.ts.map