import type { ComponentMeta, PropMeta } from '../ComponentMeta.js'; import { PluginBuilder, PluginFs } from '../Plugin.js'; export interface VscodeHtmlDataPluginConfig extends Record { cwd: string; outFile: string; transformTagData?: (component: ComponentMeta, data: ITagData) => ITagData; transformAttributeData?: (prop: PropMeta, data: IAttributeData) => IAttributeData; } export declare const VSCODE_Html_DATA_PLUGIN_DEFAULT_CONFIG: VscodeHtmlDataPluginConfig; export declare function normalizeVscodeHtmlDataPluginConfig(config: Partial, fs: PluginFs): Promise; /** * Transforms component metadata into [VSCode Custom Data](https://github.com/microsoft/vscode-custom-data). * This will run in the `transform` plugin lifecycle step. * * @option cwd - The current working directory, defaults to `process.cwd()`. * @option outFile - custom path to where the file should be output. * * @example * ```ts * // FILE: celement.config.ts * * import { vscodeHtmlDataPlugin } from '@celement/cli'; * * export default [ * vscodeHtmlDataPlugin({ * // Configuration options here. * outFile: './vscode.html-data.json', * }), * ]; * ``` */ export declare const vscodeHtmlDataPlugin: PluginBuilder>; /** * https://github.com/microsoft/vscode-html-languageservice/blob/master/src/htmlLanguageTypes.ts#L164 */ interface IReference { name: string; url: string; } interface ITagData { name: string; description?: string; attributes: IAttributeData[]; references?: IReference[]; } interface IAttributeData { name: string; description?: string; valueSet?: string; values?: IValueData[]; references?: IReference[]; } interface IValueData { name: string; description?: string; references?: IReference[]; } export {}; //# sourceMappingURL=index.d.ts.map