import { App, ComputedRef, InjectionKey, MaybeRef, MaybeRefOrGetter, Ref } from "vue";
import { PageDataRef, PageFrontmatterRef, PageLangRef, Router, SiteLocaleDataRef, useRoute, useRouter } from "vuepress/client";
import { BulletinOptions, CopyrightFrontmatter, GitContributor, NavItemWithLink, PresetLocale, ResolvedNavItem, ResolvedSidebarItem, ThemeBaseCollection, ThemeCollectionItem, ThemeData, ThemeDocCollection, ThemeFriendsFrontmatter, ThemeHomeFrontmatter, ThemeLocaleData, ThemeOutline, ThemePageData, ThemePageFrontmatter, ThemePostCollection, ThemePostFrontmatter, ThemePosts, ThemePostsItem, ThemeSidebar, ThemeSidebarItem, TransitionOptions } from "../../shared/index.js";
import { RouteParamValueRaw } from "vue-router";

//#region src/client/composables/bulletin.d.ts
declare function useBulletin<T extends Record<string, any> = Record<string, any>>(): ComputedRef<BulletinOptions & T | undefined>;
declare function useBulletinControl<T extends Record<string, any> = Record<string, any>>(): {
  bulletin: ComputedRef<BulletinOptions & T | undefined>;
  enableBulletin: ComputedRef<boolean>;
  showBulletin: Ref<boolean>;
  close: () => void;
};
//#endregion
//#region src/client/composables/collections.d.ts
/**
 * Reference type for collections data.
 * Maps locale paths to arrays of collection items.
 *
 * 集合数据的引用类型。
 * 将语言环境路径映射到集合项数组。
 */
type CollectionsRef = Ref<Record<string, ThemeCollectionItem[]>>;
/**
 * Reference type for a single collection item.
 *
 * 单个集合项的引用类型。
 */
type CollectionItemRef<T extends ThemeBaseCollection> = Ref<T | undefined>;
/**
 * Global reference to all collections data.
 *
 * 所有集合数据的全局引用。
 */
declare const collectionsRef: CollectionsRef;
/**
 * Global reference to the current collection item.
 *
 * 当前集合项的全局引用。
 */
declare const collectionItemRef: CollectionItemRef<ThemeBaseCollection>;
/**
 * Use collections data.
 * Returns the global collections reference.
 *
 * 获取集合数据。
 * 返回全局集合引用。
 *
 * @returns Collections data reference / 集合数据引用
 */
declare const useCollections: () => CollectionsRef;
/**
 * Use current collection item.
 * Returns the current collection based on the page context.
 *
 * 获取当前集合项。
 * 根据页面上下文返回当前集合。
 *
 * @template T - Collection type / 集合类型
 * @returns Current collection item reference / 当前集合项引用
 */
declare const useCollection: <T extends ThemeBaseCollection = ThemeDocCollection>() => CollectionItemRef<T>;
/**
 * Force update the current collection.
 * Used to programmatically switch the active collection.
 *
 * 强制更新当前集合。
 * 用于以编程方式切换活动集合。
 *
 * @param dir - Collection directory or true for first posts collection / 集合目录或 true 表示第一个文章集合
 */
declare function forceUpdateCollection(dir?: string | true): void;
/**
 * Setup collection tracking.
 * Automatically determines the current collection based on route and page path.
 *
 * 设置集合跟踪。
 * 根据路由和页面路径自动确定当前集合。
 */
declare function setupCollection(): void;
//#endregion
//#region src/client/composables/contributors.d.ts
interface useContributorsResult {
  mode: ComputedRef<'inline' | 'block'>;
  contributors: ComputedRef<GitContributor[]>;
  hasContributors: ComputedRef<boolean>;
}
declare function useContributors(): useContributorsResult;
//#endregion
//#region src/client/composables/copyright.d.ts
interface useCopyrightResult {
  license: ComputedRef<License>;
  author: ComputedRef<Exclude<CopyrightFrontmatter['author'], string>>;
  hasCopyright: ComputedRef<boolean>;
  creation: ComputedRef<CopyrightFrontmatter['creation']>;
  creationText: ComputedRef<string>;
  sourceUrl: ComputedRef<string | undefined>;
}
declare function useCopyright(copyright: ComputedRef<CopyrightFrontmatter>): useCopyrightResult;
interface License {
  name: string;
  url?: string;
  icons?: string[];
}
//#endregion
//#region src/client/composables/css-var.d.ts
/**
 * Get css variable
 * @param prop css variable name
 * @param initialValue
 */
declare function useCssVar(prop: MaybeRefOrGetter<string | null | undefined>, initialValue?: string): ComputedRef<string | null | undefined>;
//#endregion
//#region src/client/composables/dark-mode.d.ts
/**
 * Dark mode reference type
 *
 * 暗黑模式引用类型
 */
type DarkModeRef = Ref<boolean>;
/**
 * Injection key for dark mode
 *
 * 暗黑模式的注入键
 */
declare const darkModeSymbol: InjectionKey<DarkModeRef>;
/**
 * Check if view transitions are enabled and supported
 * Considers prefers-reduced-motion preference
 *
 * 检查视图过渡是否启用且受支持
 * 考虑 prefers-reduced-motion 偏好设置
 *
 * @returns Whether transitions are enabled / 过渡是否启用
 */
declare function enableTransitions(): boolean;
/**
 * Setup dark mode for the Vue application
 * Configures dark mode based on theme settings and user preferences
 *
 * 为 Vue 应用设置暗黑模式
 * 根据主题设置和用户偏好配置暗黑模式
 *
 * @param app - Vue application instance / Vue 应用实例
 */
declare function setupDarkMode(app: App): void;
/**
 * Use dark mode
 * Returns the dark mode reactive reference
 *
 * 获取暗黑模式状态
 *
 * @returns Dark mode reference / 暗黑模式引用
 * @throws Error if called without provider / 如果没有提供者则抛出错误
 */
declare function useDarkMode(): DarkModeRef;
//#endregion
//#region src/client/composables/theme-data.d.ts
/**
 * Theme data reference type
 *
 * 主题数据引用类型
 */
type ThemeDataRef<T extends ThemeData = ThemeData> = Ref<T>;
/**
 * Theme locale data reference type
 *
 * 主题本地化数据引用类型
 */
type ThemeLocaleDataRef<T extends ThemeData = ThemeData> = ComputedRef<T>;
/**
 * Injection key for theme locale data
 *
 * 主题本地化数据的注入键
 */
declare const themeLocaleDataSymbol: InjectionKey<ThemeLocaleDataRef>;
/**
 * Theme data ref
 * Global reference to the theme configuration data
 *
 * 主题数据引用
 * 主题配置数据的全局引用
 */
declare const themeData: ThemeDataRef;
/**
 * Use theme data
 * Returns the global theme data reference
 *
 * 获取主题数据
 * 返回全局主题数据引用
 *
 * @returns Theme data reference / 主题数据引用
 */
declare function useThemeData<T extends ThemeData = ThemeData>(): ThemeDataRef<T>;
/**
 * Use theme locale data
 * Returns the theme data for the current route's locale
 *
 * 获取当前路由对应的语言环境的主题数据
 *
 * @returns Theme locale data computed reference / 主题本地化数据计算引用
 * @throws Error if called without provider / 如果没有提供者则抛出错误
 */
declare function useThemeLocaleData<T extends ThemeData = ThemeData>(): ThemeLocaleDataRef<T>;
/**
 * Setup theme data for the Vue app
 * Provides theme data and theme locale data to the application
 *
 * 为 Vue 应用设置主题数据
 * 向应用程序提供主题数据和主题本地化数据
 *
 * @param app - Vue application instance / Vue 应用实例
 */
declare function setupThemeData(app: App): void;
//#endregion
//#region src/client/composables/data.d.ts
type FrontmatterType = 'home' | 'post' | 'friends' | 'page';
type FrontmatterCollectionType = 'post' | 'doc';
type Frontmatter<T extends FrontmatterType = 'page'> = T extends 'home' ? ThemeHomeFrontmatter : T extends 'post' ? ThemePostFrontmatter : T extends 'friends' ? ThemeFriendsFrontmatter : ThemePageFrontmatter;
interface Data<T extends FrontmatterType = 'page', C extends FrontmatterCollectionType = 'doc'> {
  theme: ThemeLocaleDataRef<ThemeLocaleData>;
  page: PageDataRef<ThemePageData>;
  frontmatter: PageFrontmatterRef<Frontmatter<T> & Record<string, unknown>>;
  lang: PageLangRef;
  site: SiteLocaleDataRef;
  isDark: Ref<boolean>;
  collection: CollectionItemRef<C extends 'doc' ? ThemeDocCollection : ThemePostCollection>;
}
/**
 * Use data
 *
 * 获取页面数据，包括主题配置、页面数据、frontmatter、语言、站点信息、暗黑模式和集合信息
 */
declare function useData<T extends FrontmatterType = 'page', C extends FrontmatterCollectionType = 'doc'>(): Data<T, C>;
//#endregion
//#region src/client/composables/edit-link.d.ts
declare function useEditLink(): ComputedRef<null | NavItemWithLink>;
//#endregion
//#region src/client/composables/encrypt-data.d.ts
/**
 * Encrypt configuration tuple type
 * Contains keys, rules, global flag, and admin passwords
 *
 * 加密配置元组类型
 * 包含密钥、规则、全局标志和管理员密码
 */
type EncryptConfig = readonly [keys: string, rules: string, global: number, admin: string];
/**
 * Encrypt data rule interface
 * Defines a single encryption rule with matching pattern and passwords
 *
 * 加密数据规则接口
 * 定义单个加密规则，包含匹配模式和密码
 */
interface EncryptDataRule {
  /** Unique key for the rule / 规则的唯一键 */
  key: string;
  /** Match pattern for the rule / 规则的匹配模式 */
  match: string;
  /** Array of valid passwords / 有效密码数组 */
  rules: string[];
}
/**
 * Encrypt data interface
 * Contains all encryption configuration and rules
 *
 * 加密数据接口
 * 包含所有加密配置和规则
 */
interface EncryptData {
  /** Whether global encryption is enabled / 是否启用全局加密 */
  global: boolean;
  /** Array of admin password hashes / 管理员密码哈希数组 */
  admins: string[];
  /** Array of match patterns / 匹配模式数组 */
  matches: string[];
  /** Array of encryption rules / 加密规则数组 */
  ruleList: EncryptDataRule[];
}
/**
 * Encrypt data reference type
 *
 * 加密数据引用类型
 */
type EncryptRef = Ref<EncryptData>;
/**
 * Global encrypt data reference
 *
 * 全局加密数据引用
 */
declare const encrypt: EncryptRef;
/**
 * Use encrypt data
 * Returns the global encrypt data reference
 *
 * 获取加密数据
 * 返回全局加密数据引用
 *
 * @returns Encrypt data reference / 加密数据引用
 */
declare function useEncryptData(): EncryptRef;
//#endregion
//#region src/client/composables/encrypt.d.ts
/**
 * Encrypt interface
 * Provides encryption-related reactive states and properties
 *
 * 加密接口
 * 提供加密相关的响应式状态和属性
 */
interface Encrypt {
  /**  Whether the current page has encryption / 当前页面是否有加密 */
  hasPageEncrypt: Ref<boolean>;
  /** Whether global encryption is decrypted / 全局加密是否已解密 */
  isGlobalDecrypted: Ref<boolean>;
  /** Whether page encryption is decrypted / 页面加密是否已解密 */
  isPageDecrypted: Ref<boolean>;
  /** List of encryption rules for the current page / 当前页面的加密规则列表 */
  hashList: Ref<EncryptDataRule[]>;
}
/**
 * Injection key for encrypt functionality
 *
 * 加密功能的注入键
 */
declare const EncryptSymbol: InjectionKey<Encrypt>;
/**
 * Setup encrypt functionality for the application
 * Initializes encryption state and provides it to child components
 *
 * 为应用程序设置加密功能
 * 初始化加密状态并提供给子组件
 */
declare function setupEncrypt(): void;
/**
 * Use encrypt
 * Returns the encryption state and properties
 *
 * 获取加密功能的状态和方法，包括全局解密、页面解密、密码验证等
 *
 * @returns Encrypt state and properties / 加密状态和属性
 * @throws Error if called without setup / 如果没有设置则抛出错误
 */
declare function useEncrypt(): Encrypt;
/**
 * Use encrypt compare
 * Provides password verification functions for global and page encryption
 *
 * 密码比较功能，提供全局密码和页面密码的验证方法
 *
 * @returns Object with compareGlobal and comparePage functions / 包含 compareGlobal 和 comparePage 函数的对象
 */
declare function useEncryptCompare(): {
  compareGlobal: (password: string) => Promise<boolean>;
  comparePage: (password: string) => Promise<boolean>;
};
//#endregion
//#region src/client/composables/flyout.d.ts
/**
 * Options for useFlyout composable.
 *
 * useFlyout 组合式函数的选项。
 */
interface UseFlyoutOptions {
  /** Element to track focus for / 要跟踪焦点的元素 */
  el: Ref<HTMLElement | undefined>;
  /** Callback when element gains focus / 元素获得焦点时的回调 */
  onFocus?: () => void;
  /** Callback when element loses focus / 元素失去焦点时的回调 */
  onBlur?: () => void;
}
/**
 * Currently focused element reference.
 * Shared across all flyout instances.
 *
 * 当前聚焦元素的引用。
 * 在所有弹出框实例之间共享。
 */
declare const focusedElement: Ref<HTMLElement | undefined>;
/**
 * Use flyout focus tracking.
 * Tracks focus state for dropdown menus and flyout components.
 *
 * 弹出框焦点跟踪。
 * 跟踪下拉菜单和弹出框组件的焦点状态。
 *
 * @param options - Flyout options / 弹出框选项
 * @returns Readonly reference to focus state / 焦点状态的只读引用
 */
declare function useFlyout(options: UseFlyoutOptions): Readonly<Ref<boolean>>;
//#endregion
//#region src/client/composables/icons.d.ts
/**
 * Raw icons data structure from internal data.
 *
 * 来自内部数据的原始图标数据结构。
 */
interface IconsRawData {
  /** Collection names / 集合名称 */
  co: string[];
  /** Background icons by collection index / 按集合索引的背景图标 */
  bg: Record<number, string[]>;
  /** Mask icons by collection index / 按集合索引的遮罩图标 */
  mask: Record<number, string[]>;
}
/**
 * Processed icons data structure.
 *
 * 处理后的图标数据结构。
 */
interface IconsData {
  /** List of background icons / 背景图标列表 */
  bg: string[];
  /** List of mask icons / 遮罩图标列表 */
  mask: string[];
}
type IconsDataRef = Ref<IconsData>;
/**
 * Use icons data.
 * Returns the processed icons data reference.
 *
 * 获取图标数据。
 * 返回处理后的图标数据引用。
 *
 * @returns Icons data reference / 图标数据引用
 */
declare const useIconsData: () => IconsDataRef;
/**
 * Fallback mappings for old icon aliases.
 * Maps legacy icon names to their current equivalents.
 *
 * 旧版本内置图标别名的后备映射。
 * 将旧图标名称映射到当前等效名称。
 */
declare const socialFallbacks: Record<string, string>;
/**
 * Resolve raw icons data to processed format.
 * Converts indexed data to flat icon lists.
 *
 * 将原始图标数据解析为处理后的格式。
 * 将索引数据转换为平面图标列表。
 *
 * @param data - Raw icons data / 原始图标数据
 * @param data.co - Collection names / 集合名称
 * @param data.bg - Background icons by collection index / 按集合索引的背景图标
 * @param data.mask - Mask icons by collection index / 按集合索引的遮罩图标
 * @returns Processed icons data / 处理后的图标数据
 */
declare function resolveIconsData({
  co,
  bg,
  mask
}: IconsRawData): IconsData;
/**
 * Normalize icon to CSS class name.
 * Returns the appropriate class name based on icon type.
 *
 * 将图标规范化为 CSS 类名。
 * 根据图标类型返回适当的类名。
 *
 * @param icon - Icon name in format "collection:name" / 格式为 "collection:name" 的图标名称
 * @returns CSS class name or empty string if not found / CSS 类名，如果未找到则返回空字符串
 */
declare function normalizeIconClassname(icon: string): string;
//#endregion
//#region src/client/composables/internal-link.d.ts
interface InternalLink {
  text: string;
  link: string;
}
declare function useInternalLink(): {
  home: ComputedRef<InternalLink>;
  posts: ComputedRef<InternalLink | undefined>;
  tags: ComputedRef<InternalLink | undefined>;
  archive: ComputedRef<InternalLink | undefined>;
  categories: ComputedRef<InternalLink | undefined>;
};
//#endregion
//#region src/client/composables/langs.d.ts
interface Lang {
  text: string;
  link: string;
}
interface UseLangOptions {
  removeCurrent?: boolean;
}
interface UseLangResult {
  localeLinks: ComputedRef<Lang[]>;
  currentLang: ComputedRef<Lang>;
}
declare function useLangs({
  removeCurrent
}?: UseLangOptions): UseLangResult;
//#endregion
//#region src/client/composables/latest-updated.d.ts
declare function useLastUpdated(): {
  datetime: Ref<string>;
  isoDatetime: ComputedRef<string | undefined>;
  lastUpdatedText: ComputedRef<string>;
};
//#endregion
//#region src/client/composables/layout.d.ts
/**
 * Use layout
 *
 * 获取当前页面布局相关信息，包括是否首页、是否有侧边栏、是否显示目录等
 */
declare function useLayout(): {
  isHome: import("vue").ComputedRef<boolean>;
  hasAside: import("vue").ComputedRef<boolean>;
  hasSidebar: import("vue").ComputedRef<boolean>;
  leftAside: import("vue").ComputedRef<boolean>;
  hasLocalNav: import("vue").ComputedRef<boolean>;
  isSidebarEnabled: import("vue").ComputedRef<boolean>;
  isAsideEnabled: import("vue").ComputedRef<boolean>;
  is960: import("vue").ShallowRef<boolean, boolean>;
  is1280: import("vue").ShallowRef<boolean, boolean>;
};
declare function registerWatchers(): void;
//#endregion
//#region src/client/composables/link.d.ts
/**
 * Link resolution result interface
 * Provides information about the resolved link
 *
 * 链接解析结果接口
 * 提供有关解析后链接的信息
 */
interface UseLinkResult {
  /**
   * Whether the link is external
   * 是否为外部链接
   */
  isExternal: ComputedRef<boolean>;
  /**
   * Whether the link uses an external protocol
   * Does not include target="_blank" cases
   * 是否使用外部链接协议
   * 此项不包含 target="_blank" 的情况
   */
  isExternalProtocol: ComputedRef<boolean>;
  /**
   * The resolved link URL
   * 解析后的链接 URL
   */
  link: ComputedRef<string | undefined>;
}
/**
 * Use link
 * Resolves and processes a link URL with smart handling of internal/external links
 *
 * 使用链接
 * 解析并处理链接 URL，智能处理内部/外部链接
 *
 * @param href - Link URL or reference / 链接 URL 或引用
 * @param target - Link target or reference / 链接目标或引用
 * @returns Link resolution result / 链接解析结果
 */
declare function useLink(href: MaybeRefOrGetter<string | undefined>, target?: MaybeRefOrGetter<string | undefined>): UseLinkResult;
//#endregion
//#region src/client/composables/nav.d.ts
/**
 * Use navbar data
 * Returns the resolved navbar items based on theme configuration
 *
 * 获取导航栏数据
 * 根据主题配置返回解析后的导航栏项目
 *
 * @returns Reactive reference to resolved navbar items / 解析后的导航栏项目的响应式引用
 */
declare function useNavbarData(): Ref<ResolvedNavItem[]>;
/**
 * Navigation control return type
 * Provides state and methods for mobile navigation menu
 *
 * 导航控制返回类型
 * 提供移动端导航菜单的状态和方法
 */
interface UseNavReturn {
  /** Whether the mobile screen menu is open / 移动端屏幕菜单是否打开 */
  isScreenOpen: Ref<boolean>;
  /** Open the mobile screen menu / 打开移动端屏幕菜单 */
  openScreen: () => void;
  /** Close the mobile screen menu / 关闭移动端屏幕菜单 */
  closeScreen: () => void;
  /** Toggle the mobile screen menu / 切换移动端屏幕菜单 */
  toggleScreen: () => void;
}
/**
 * Use nav
 * Provides mobile navigation menu control functionality
 *
 * 导航栏状态控制，提供移动端导航菜单的打开、关闭和切换功能
 *
 * @returns Navigation control state and methods / 导航控制状态和方法
 */
declare function useNav(): UseNavReturn;
//#endregion
//#region src/client/composables/outline.d.ts
/**
 * Header interface representing a page heading
 *
 * Header 接口表示页面标题
 */
interface Header {
  /**
   * The level of the header
   * `1` to `6` for `<h1>` to `<h6>`
   *
   * 标题级别
   * `1` 到 `6` 对应 `<h1>` 到 `<h6>`
   */
  level: number;
  /**
   * The title of the header
   *
   * 标题文本
   */
  title: string;
  /**
   * The slug of the header
   * Typically the `id` attr of the header anchor
   *
   * 标题的 slug
   * 通常是标题锚点的 `id` 属性
   */
  slug: string;
  /**
   * Link of the header
   * Typically using `#${slug}` as the anchor hash
   *
   * 标题链接
   * 通常使用 `#${slug}` 作为锚点哈希
   */
  link: string;
  /**
   * The children of the header
   *
   * 子标题
   */
  children: Header[];
}
/**
 * Menu item type for outline navigation
 * Extends Header with element reference and additional properties
 *
 * 目录导航的菜单项类型
 * 扩展 Header 并添加元素引用和额外属性
 */
type MenuItem = Omit<Header, 'slug' | 'children'> & {
  /** Reference to the DOM element / DOM 元素引用 */element: HTMLHeadElement; /** Child menu items / 子菜单项 */
  children?: MenuItem[]; /** Lowest level for outline display / 目录显示的最低级别 */
  lowLevel?: number;
};
/**
 * Setup headers for the current page
 * Initializes header extraction based on frontmatter and theme configuration
 *
 * 为当前页面设置标题
 * 根据 frontmatter 和主题配置初始化标题提取
 *
 * @returns Reference to the headers array / 标题数组的引用
 */
declare function setupHeaders(): Ref<MenuItem[]>;
/**
 * Use headers
 * Returns the reactive headers reference for the current page
 *
 * 获取当前页面的标题列表
 *
 * @returns Reactive reference to menu items / 菜单项的响应式引用
 */
declare function useHeaders(): Ref<MenuItem[]>;
/**
 * Get headers from the page content
 * Extracts and filters headings based on the outline configuration
 *
 * 从页面内容获取标题
 * 根据目录配置提取和过滤标题
 *
 * @param range - Outline configuration for header levels / 标题级别的目录配置
 * @returns Array of menu items representing headers / 表示标题的菜单项数组
 */
declare function getHeaders(range?: ThemeOutline): MenuItem[];
/**
 * Resolve headers into a hierarchical structure
 * Organizes flat headers into nested menu items based on levels
 *
 * 将标题解析为层次结构
 * 根据级别将平面标题组织为嵌套菜单项
 *
 * @param headers - Flat array of menu items / 平面菜单项数组
 * @param high - Minimum header level to include / 要包含的最小标题级别
 * @returns Hierarchical array of menu items / 层次化的菜单项数组
 */
declare function resolveHeaders(headers: MenuItem[], high: number): MenuItem[];
/**
 * Use active anchor
 * Tracks scroll position and updates the active outline item
 *
 * 活跃锚点处理，监听滚动并更新目录中高亮的锚点
 *
 * @param container - Reference to the outline container / 目录容器的引用
 * @param marker - Reference to the active marker element / 活动标记元素的引用
 */
declare function useActiveAnchor(container: Ref<HTMLElement | null>, marker: Ref<HTMLElement | null>): void;
//#endregion
//#region src/client/composables/page.d.ts
/**
 * Use posts page data
 *
 * 获取文章页面数据，判断当前页面是否为文章类型或文章列表布局
 */
declare function usePostsPageData(): {
  isPosts: ComputedRef<boolean>;
  isPostsLayout: ComputedRef<boolean>;
};
//#endregion
//#region src/client/composables/posts-archives.d.ts
type ShortPostsItem = Pick<ThemePostsItem, 'title' | 'path' | 'createTime'>;
interface ArchiveItem {
  title: string;
  label: string;
  list: ShortPostsItem[];
}
declare function useArchives(): {
  archives: ComputedRef<ArchiveItem[]>;
};
//#endregion
//#region src/client/composables/posts-category.d.ts
interface CategoryItemWithPost {
  type: 'post';
  title: string;
  path: string;
}
interface CategoryItem {
  id: string;
  type: 'category';
  sort: number;
  title: string;
  items: (CategoryItem | CategoryItemWithPost)[];
}
type PostsCategory = (CategoryItem | CategoryItemWithPost)[];
declare function usePostsCategory(): {
  categories: ComputedRef<PostsCategory>;
};
//#endregion
//#region src/client/composables/posts-data.d.ts
type PostsDataRef = Ref<Record<string, ThemePosts>>;
/**
 * Posts data ref
 *
 * 文章数据引用，包含所有语言环境的文章列表
 */
declare const postsData: PostsDataRef;
/**
 * Use posts data
 *
 * 获取文章数据
 */
declare function usePostsData(): PostsDataRef;
/**
 * Use locale post list
 *
 * 获取当前语言环境的文章列表
 */
declare function useLocalePostList(): ComputedRef<ThemePosts>;
//#endregion
//#region src/client/composables/posts-extract.d.ts
interface PostsExtractLink {
  link?: string;
  text?: string;
  total: number;
}
declare function usePostsExtract(): {
  hasPostsExtract: ComputedRef<boolean>;
  tags: ComputedRef<PostsExtractLink>;
  archives: ComputedRef<PostsExtractLink>;
  categories: ComputedRef<PostsExtractLink>;
};
//#endregion
//#region src/client/composables/posts-post-list.d.ts
/**
 * Use post list control result
 *
 * 文章列表控制结果类型，包含分页相关的数据和方法
 */
interface UsePostListControlResult {
  postList: ComputedRef<ThemePostsItem[]>;
  page: Ref<number>;
  totalPage: ComputedRef<number>;
  pageRange: ComputedRef<{
    value: number | string;
    more?: true;
  }[]>;
  isLastPage: ComputedRef<boolean>;
  isFirstPage: ComputedRef<boolean>;
  isPaginationEnabled: ComputedRef<boolean>;
  changePage: (page: number) => void;
}
/**
 * Use post list control
 *
 * 文章列表控制，管理分页逻辑和文章列表数据
 */
declare function usePostListControl(homePage: Ref<boolean>): UsePostListControlResult;
//#endregion
//#region src/client/composables/posts-tags.d.ts
type ShortPostItem = Pick<ThemePostsItem, 'title' | 'path' | 'createTime'>;
/**
 * Posts tag item
 *
 * 标签项，包含名称、数量和样式类名
 */
interface PostsTagItem {
  name: string;
  count: string | number;
  className: string;
}
/**
 * Use tags result
 *
 * 标签结果类型
 */
interface UseTagsResult {
  tags: ComputedRef<PostsTagItem[]>;
  currentTag: Ref<string>;
  postList: ComputedRef<ShortPostItem[]>;
  handleTagClick: (tag: string) => void;
}
/**
 * Use tags
 *
 * 获取标签列表和当前选中的标签，处理标签相关逻辑
 */
declare function useTags(): UseTagsResult;
//#endregion
//#region src/client/composables/preset-locales.d.ts
interface PresetLocales {
  [locale: string]: PresetLocale;
}
declare const presetLocales: PresetLocales;
declare function getPresetLocaleData(locale: string, name: keyof PresetLocale): string;
//#endregion
//#region src/client/composables/prev-next.d.ts
/**
 * Use prev next result
 *
 * 上一页/下一页结果类型
 */
interface UsePrevNextResult {
  prev: ComputedRef<NavItemWithLink | null>;
  next: ComputedRef<NavItemWithLink | null>;
}
/**
 * Use prev next
 *
 * 获取上一页和下一页链接
 */
declare function usePrevNext(): UsePrevNextResult;
//#endregion
//#region src/client/composables/route-query.d.ts
type RouteQueryValueRaw = RouteParamValueRaw | string[];
interface ReactiveRouteOptions {
  /**
   * Mode to update the router query, ref is also acceptable
   *
   * @default 'replace'
   */
  mode?: MaybeRef<'replace' | 'push'>;
  /**
   * Route instance, use `useRoute()` if not given
   */
  route?: ReturnType<typeof useRoute>;
  /**
   * Router instance, use `useRouter()` if not given
   */
  router?: ReturnType<typeof useRouter>;
}
interface ReactiveRouteOptionsWithTransform<V, R> extends ReactiveRouteOptions {
  /**
   * Function to transform data before return
   */
  transform?: (val: V) => R;
}
declare function useRouteQuery(name: string): Ref<null | string | string[]>;
declare function useRouteQuery<T extends RouteQueryValueRaw = RouteQueryValueRaw, K = T>(name: string, defaultValue?: MaybeRefOrGetter<T>, options?: ReactiveRouteOptionsWithTransform<T, K>): Ref<K>;
//#endregion
//#region src/client/composables/scroll-behavior.d.ts
declare function enhanceScrollBehavior(router: Router): void;
//#endregion
//#region src/client/composables/scroll-promise.d.ts
interface ScrollPromise {
  wait: () => Promise<void> | null;
  pending: () => void;
  resolve: () => void;
}
declare const useScrollPromise: () => ScrollPromise;
//#endregion
//#region src/client/composables/sidebar-data.d.ts
/**
 * Sidebar data type - maps locale paths to sidebar configurations.
 *
 * 侧边栏数据类型 - 将语言环境路径映射到侧边栏配置。
 */
type SidebarData = Record<string, ThemeSidebar>;
/**
 * Reference type for sidebar data.
 *
 * 侧边栏数据的引用类型。
 */
type SidebarDataRef = Ref<SidebarData>;
/**
 * Reference type for auto-generated directory sidebar.
 *
 * 自动生成目录侧边栏的引用类型。
 */
type AutoDirSidebarRef = Ref<ThemeSidebarItem[] | {
  link: string;
  items: ThemeSidebarItem[];
}>;
/**
 * Reference type for auto-generated home data.
 *
 * 自动生成首页数据的引用类型。
 */
type AutoHomeDataRef = Ref<Record<string, string>>;
/**
 * Global sidebar data reference.
 *
 * 全局侧边栏数据引用。
 */
declare const sidebarData: SidebarDataRef;
/**
 * Auto-generated directory sidebar reference.
 *
 * 自动生成目录侧边栏引用。
 */
declare const autoDirSidebar: AutoDirSidebarRef;
/**
 * Setup sidebar tracking.
 * Automatically updates sidebar based on route and frontmatter changes.
 *
 * 设置侧边栏跟踪。
 * 根据路由和 frontmatter 变化自动更新侧边栏。
 */
declare function setupSidebar(): void;
/**
 * Use sidebar data.
 * Returns the resolved sidebar items for the current page.
 *
 * 获取侧边栏数据。
 * 返回当前页面的解析侧边栏项目。
 *
 * @returns Resolved sidebar items reference / 解析侧边栏项目引用
 */
declare function useSidebarData(): Ref<ResolvedSidebarItem[]>;
/**
 * Get the sidebar configuration from sidebar options.
 * Ensures correct sidebar config from MultiSideBarConfig with various path combinations.
 * Returns empty array if no matching config is found.
 *
 * 从侧边栏选项获取侧边栏配置。
 * 确保从 MultiSideBarConfig 获取正确的侧边栏配置，支持各种路径组合。
 * 如果未找到匹配的配置，则返回空数组。
 *
 * @param routePath - Current route path / 当前路由路径
 * @param routeLocal - Current route locale / 当前路由语言环境
 * @returns Resolved sidebar items / 解析的侧边栏项目
 */
declare function getSidebar(routePath: string, routeLocal: string): ResolvedSidebarItem[];
/**
 * Get or generate sidebar groups from the given sidebar items.
 * Groups consecutive items without children into a single group.
 *
 * 从给定的侧边栏项目获取或生成侧边栏分组。
 * 将没有子项目的连续项目分组到单个组中。
 *
 * @param sidebar - Flat array of sidebar items / 平面侧边栏项目数组
 * @returns Grouped sidebar items / 分组的侧边栏项目
 */
declare function getSidebarGroups(sidebar: ResolvedSidebarItem[]): ResolvedSidebarItem[];
/**
 * Get the first link from sidebar items.
 * Recursively searches through nested items to find the first link.
 *
 * 从侧边栏项目获取第一个链接。
 * 递归搜索嵌套项目以找到第一个链接。
 *
 * @param sidebar - Sidebar items to search / 要搜索的侧边栏项目
 * @returns First link found or empty string / 找到的第一个链接或空字符串
 */
declare function getSidebarFirstLink(sidebar: ResolvedSidebarItem[]): string;
//#endregion
//#region src/client/composables/sidebar.d.ts
/**
 * Check if the given sidebar item contains any active link.
 *
 * 检查给定的侧边栏项是否包含活动链接
 */
declare function hasActiveLink(path: string, items: ResolvedSidebarItem | ResolvedSidebarItem[]): boolean;
/**
 * Use sidebar control
 *
 * 侧边栏控制，提供启用/禁用侧边栏和折叠/展开的控制函数
 */
declare function useSidebarControl(): {
  isSidebarEnabled: Ref<boolean, boolean>;
  enableSidebar: () => void;
  disableSidebar: () => void;
  toggleSidebarEnabled: () => void;
  isSidebarCollapsed: Ref<boolean, boolean>;
  toggleSidebarCollapse: (collapse?: boolean) => void;
};
/**
 * Use sidebar
 *
 * 侧边栏数据，获取当前路由的侧边栏项目和分组
 */
declare function useSidebar(): {
  sidebar: Ref<ResolvedSidebarItem[]>;
  sidebarKey: ComputedRef<string>;
  sidebarGroups: ComputedRef<ResolvedSidebarItem[]>;
};
/**
 * Use close sidebar on escape
 *
 * a11y: 缓存打开侧边栏的元素（菜单按钮），当使用 Escape 关闭菜单时重新聚焦该按钮
 */
declare function useCloseSidebarOnEscape(): void;
/**
 * Use sidebar item control
 *
 * 侧边栏项目控制，管理单个侧边栏项目的折叠状态、激活状态等
 */
declare function useSidebarItemControl(item: ComputedRef<ResolvedSidebarItem>): SidebarItemControl;
interface SidebarItemControl {
  collapsed: Ref<boolean>;
  collapsible: ComputedRef<boolean>;
  isLink: ComputedRef<boolean>;
  isActiveLink: Ref<boolean>;
  hasActiveLink: ComputedRef<boolean>;
  hasChildren: ComputedRef<boolean>;
  toggle: () => void;
}
//#endregion
//#region src/client/composables/tag-colors.d.ts
type TagColors = Record<string, string>;
type TagColorsRef = Ref<TagColors>;
declare const useTagColors: () => TagColorsRef;
//#endregion
//#region src/client/composables/view-transition.d.ts
type TransitionMode = Exclude<TransitionOptions['appearance'], boolean>;
declare function resolveTransitionKeyframes(x: number, y: number, mode: TransitionMode, isDark: boolean): {
  keyframes: PropertyIndexedKeyframes;
  duration: number;
};
//#endregion
//#region src/client/composables/watermark.d.ts
declare function setupWatermark(): void;
//#endregion
export { AutoDirSidebarRef, AutoHomeDataRef, CategoryItem, CategoryItemWithPost, CollectionItemRef, CollectionsRef, Data, Encrypt, EncryptConfig, EncryptData, EncryptDataRule, EncryptRef, EncryptSymbol, Header, InternalLink, MenuItem, PostsCategory, PostsDataRef, ReactiveRouteOptions, ReactiveRouteOptionsWithTransform, RouteQueryValueRaw, ScrollPromise, ShortPostsItem, SidebarData, SidebarDataRef, SidebarItemControl, TagColors, TagColorsRef, ThemeDataRef, ThemeLocaleDataRef, UseNavReturn, autoDirSidebar, collectionItemRef, collectionsRef, darkModeSymbol, enableTransitions, encrypt, enhanceScrollBehavior, focusedElement, forceUpdateCollection, getHeaders, getPresetLocaleData, getSidebar, getSidebarFirstLink, getSidebarGroups, hasActiveLink, normalizeIconClassname, postsData, presetLocales, registerWatchers, resolveHeaders, resolveIconsData, resolveTransitionKeyframes, setupCollection, setupDarkMode, setupEncrypt, setupHeaders, setupSidebar, setupThemeData, setupWatermark, sidebarData, socialFallbacks, themeData, themeLocaleDataSymbol, useActiveAnchor, useArchives, useBulletin, useBulletinControl, useCloseSidebarOnEscape, useCollection, useCollections, useContributors, useCopyright, useCssVar, useDarkMode, useData, useEditLink, useEncrypt, useEncryptCompare, useEncryptData, useFlyout, useHeaders, useIconsData, useInternalLink, useLangs, useLastUpdated, useLayout, useLink, useLocalePostList, useNav, useNavbarData, usePostListControl, usePostsCategory, usePostsData, usePostsExtract, usePostsPageData, usePrevNext, useRouteQuery, useScrollPromise, useSidebar, useSidebarControl, useSidebarData, useSidebarItemControl, useTagColors, useTags, useThemeData, useThemeLocaleData };