import type { LocaleConfig } from 'vuepress/shared'; import type { ArtalkOptions, GiscusOptions, NoCommentPluginOptions, TwikooOptions, WalineLocaleData, WalineOptions } from '..//shared/index.js'; export interface ArtalkPluginOptions extends Omit, 'imgUploader' | 'avatarURLBuilder'> { provider: 'Artalk'; } export interface GiscusPluginOptions extends Partial { provider: 'Giscus'; } export interface TwikooPluginOptions extends Partial { provider: 'Twikoo'; } export interface WalinePluginOptions extends Omit, 'search' | 'highlighter' | 'imageUploader' | 'texRenderer'> { provider: 'Waline'; /** * Whether import meta icons * * 是否导入 Meta 图标 * * @default true */ metaIcon?: boolean; /** * Locale config for waline */ locales?: LocaleConfig; } /** * 评论选项 * * Comment options */ export type CommentPluginOptions = ArtalkPluginOptions | GiscusPluginOptions | TwikooPluginOptions | WalinePluginOptions | NoCommentPluginOptions;