import { a as BloggerInfoSlotData, c as HeroLogoSlotData, i as ArticleTitleSlotData, n as ArticleExcerptSlotData, o as HeroBackgroundSlotData, r as ArticleInfoSlotData, s as HeroInfoSlotData, t as ArticleCoverSlotData, v as PageInfoProps } from "../slots-T4SWFCIa.js";
import { a as BlogLocaleData, i as BlogLocaleConfig, l as PageInfoType, n as ThemeBlogHomeProjectOptions, u as ArticleInfoData } from "../blogHome-DJaoVOnc.js";
import { n as _default$13, r as _default$7, t as _default$4 } from "../Blog-BhuYyPBr.js";
import * as _$vue from "vue";
import { ComputedRef, FunctionalComponent, PropType, Ref, SlotsType, VNode } from "vue";
import { Slot } from "@vuepress/helper/client";
import { Article, BlogCategoryData, BlogTypeData } from "@vuepress/plugin-blog/client";
//#region src/client/components/blog/ArticleItem.d.ts
declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
  /**
   * Article information
   *
   * 文章信息
   */
  info: {
    type: PropType<ArticleInfoData>;
    required: true;
  };
  /**
   * Article path
   *
   * 文章路径
   */
  path: {
    type: StringConstructor;
    required: true;
  };
}>, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<_$vue.ExtractPropTypes<{
  /**
   * Article information
   *
   * 文章信息
   */
  info: {
    type: PropType<ArticleInfoData>;
    required: true;
  };
  /**
   * Article path
   *
   * 文章路径
   */
  path: {
    type: StringConstructor;
    required: true;
  };
}>> & Readonly<{}>, {}, SlotsType<{
  articleCover?: Slot<ArticleCoverSlotData>;
  articleTitle?: Slot<ArticleTitleSlotData>;
  articleInfo?: Slot<ArticleInfoSlotData>;
  articleExcerpt?: Slot<ArticleExcerptSlotData>;
}>, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/ArticleList.d.ts
declare const _default$1: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
  /**
   * Articles
   *
   * 文章项目
   */
  items: {
    type: PropType<{
      path: string;
      info: ArticleInfoData;
    }[]>;
    required: true;
  };
}>, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<_$vue.ExtractPropTypes<{
  /**
   * Articles
   *
   * 文章项目
   */
  items: {
    type: PropType<{
      path: string;
      info: ArticleInfoData;
    }[]>;
    required: true;
  };
}>> & Readonly<{}>, {}, SlotsType<{
  articleCover?: Slot<ArticleCoverSlotData>;
  articleTitle?: Slot<ArticleTitleSlotData>;
  articleInfo?: Slot<ArticleInfoSlotData>;
  articleExcerpt?: Slot<ArticleExcerptSlotData>;
}>, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/ArticlesInfo.d.ts
declare const _default$3: _$vue.DefineComponent<{}, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/ArticleType.d.ts
declare const _default$2: _$vue.DefineComponent<{}, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/BlogHero.d.ts
declare const _default$5: _$vue.DefineComponent<{}, () => VNode | null, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, SlotsType<{
  heroInfo?: Slot<HeroInfoSlotData>;
  heroLogo?: Slot<HeroLogoSlotData>;
  heroBg?: Slot<HeroBackgroundSlotData>;
}>, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/BlogHome.d.ts
declare const _default$6: _$vue.DefineComponent<{}, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, SlotsType<{
  heroInfo?: Slot<HeroInfoSlotData>;
  heroLogo?: Slot<HeroLogoSlotData>;
  heroBg?: Slot<HeroBackgroundSlotData>;
  heroBefore?: Slot;
  heroAfter?: Slot;
  articleCover?: Slot<ArticleCoverSlotData>;
  articleTitle?: Slot<ArticleTitleSlotData>;
  articleInfo?: Slot<ArticleInfoSlotData>;
  articleExcerpt?: Slot<ArticleExcerptSlotData>;
  articlesBefore?: Slot;
  articlesAfter?: Slot;
  bloggerInfo?: Slot<BloggerInfoSlotData>;
  infoBefore?: Slot;
  infoAfter?: Slot;
  content?: Slot;
  contentBefore?: Slot;
  contentAfter?: Slot;
}>, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/CategoriesInfo.d.ts
declare const _default$8: _$vue.DefineComponent<{}, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/CategoryList.d.ts
declare const _default$9: _$vue.DefineComponent<{}, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/InfoList.d.ts
declare const _default$10: _$vue.DefineComponent<{}, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/InfoPanel.d.ts
declare const InfoPanel: FunctionalComponent<Record<never, never>, [], {
  bloggerInfo?: Slot<BloggerInfoSlotData>;
  infoBefore?: Slot;
  infoAfter?: Slot;
}>;
//#endregion
//#region src/client/components/blog/Pagination.d.ts
declare const _default$11: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
  /**
   * Number of total items
   *
   * 项目总数
   */
  total: {
    type: NumberConstructor;
    default: number;
  };
  /**
   * Items per page
   *
   * 每页项目数
   */
  perPage: {
    type: NumberConstructor;
    default: number;
  };
  /**
   * Current page number
   *
   * 当前页面
   */
  current: {
    type: NumberConstructor;
    default: number;
  };
}>, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, "updateCurrentPage"[], "updateCurrentPage", _$vue.PublicProps, Readonly<_$vue.ExtractPropTypes<{
  /**
   * Number of total items
   *
   * 项目总数
   */
  total: {
    type: NumberConstructor;
    default: number;
  };
  /**
   * Items per page
   *
   * 每页项目数
   */
  perPage: {
    type: NumberConstructor;
    default: number;
  };
  /**
   * Current page number
   *
   * 当前页面
   */
  current: {
    type: NumberConstructor;
    default: number;
  };
}>> & Readonly<{
  onUpdateCurrentPage?: ((...args: any[]) => any) | undefined;
}>, {
  total: number;
  perPage: number;
  current: number;
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/ProjectPanel.d.ts
declare const _default$12: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
  /** 项目列表 */items: {
    type: PropType<ThemeBlogHomeProjectOptions[]>;
    required: true;
  };
}>, () => VNode | null, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<_$vue.ExtractPropTypes<{
  /** 项目列表 */items: {
    type: PropType<ThemeBlogHomeProjectOptions[]>;
    required: true;
  };
}>> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/TagList.d.ts
declare const _default$14: _$vue.DefineComponent<{}, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/TagsInfo.d.ts
declare const _default$15: _$vue.DefineComponent<{}, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/TimelineItems.d.ts
declare const _default$16: _$vue.DefineComponent<{}, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/TimelineList.d.ts
declare const _default$17: _$vue.DefineComponent<{}, () => VNode, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
//#endregion
//#region src/client/components/blog/icons.d.ts
declare const CategoryIcon: FunctionalComponent;
declare const TagIcon: FunctionalComponent;
declare const TimelineIcon: FunctionalComponent;
declare const SlideIcon: FunctionalComponent;
declare const StickyIcon: FunctionalComponent;
declare const ArticleIcon: FunctionalComponent;
//#endregion
//#region src/client/composables/blog/useArticleInfo.d.ts
declare const useArticleInfo: (props: {
  info: ArticleInfoData;
  path: string;
}) => {
  info: ComputedRef<PageInfoProps>;
  items: ComputedRef<PageInfoType[] | false | null>;
};
//#endregion
//#region src/client/composables/blog/useArticles.d.ts
type ArticlesRef = ComputedRef<BlogTypeData<ArticleInfoData>>;
/**
 * Inject articles
 *
 * @returns Articles global computed
 */
declare const useArticles: () => ArticlesRef;
//#endregion
//#region src/client/composables/blog/useBlogLocale.d.ts
declare const useBlogLocale: () => ComputedRef<BlogLocaleData>;
//#endregion
//#region src/client/composables/blog/useBlogOptions.d.ts
declare const useBlogOptions: () => ComputedRef<BlogLocaleConfig>;
//#endregion
//#region src/client/composables/blog/useCategoryMap.d.ts
type CategoryMapRef = ComputedRef<BlogCategoryData<ArticleInfoData>>;
/**
 * Inject categoryMap
 *
 * @returns CategoryMap global computed
 */
declare const useCategoryMap: () => CategoryMapRef;
//#endregion
//#region src/client/composables/blog/useStars.d.ts
type StarsRef = ComputedRef<BlogTypeData<ArticleInfoData>>;
/**
 * Inject stars
 *
 * @returns Stars global computed
 */
declare const useStars: () => StarsRef;
//#endregion
//#region src/client/composables/blog/useTagMap.d.ts
type TagMapRef = ComputedRef<BlogCategoryData<ArticleInfoData>>;
/**
 * Inject tagMap
 *
 * @returns TagMap global computed
 */
declare const useTagMap: () => TagMapRef;
//#endregion
//#region src/client/composables/blog/useTimeline.d.ts
interface TimelineItem {
  year: number;
  items: {
    date: string;
    path: string;
    info: ArticleInfoData;
  }[];
}
type TimelineRef = ComputedRef<{
  path: string;
  config: TimelineItem[];
  items: Article<ArticleInfoData>[];
}>;
/**
 * Inject timeline
 *
 * @returns Timeline global computed
 */
declare const useTimeline: () => TimelineRef;
//#endregion
export { ArticleIcon, _default as ArticleItem, _default$1 as ArticleList, _default$2 as ArticleType, _default$3 as ArticlesInfo, _default$4 as Blog, _default$5 as BlogHero, _default$6 as BlogHomePage, _default$7 as BloggerInfo, _default$8 as CategoriesInfo, CategoryIcon, _default$9 as CategoryList, _default$10 as InfoList, InfoPanel, _default$11 as Pagination, _default$12 as ProjectPanel, SlideIcon, _default$13 as SocialMedias, StickyIcon, TagIcon, _default$14 as TagList, _default$15 as TagsInfo, TimelineIcon, _default$16 as TimelineItems, _default$17 as TimelineList, useArticleInfo, useArticles, useBlogLocale as useBlogLocaleData, useBlogOptions, useCategoryMap, useStars, useTagMap, useTimeline };
//# sourceMappingURL=blog.d.ts.map