import type { HeadConfig } from '@vuepress/shared';
import type { ComputedRef, InjectionKey } from 'vue';
import type { PageFrontmatter } from './pageFrontmatter';
import type { PageHeadTitle } from './pageHeadTitle';
import type { SiteLocaleData } from './siteLocaleData';
/**
 * Page head config, which would be used for generate html tags in `<head>`
 */
export declare type PageHead = HeadConfig[];
/**
 * Ref wrapper of `PageHead`
 */
export declare type PageHeadRef = ComputedRef<PageHead>;
/**
 * Injection key for page head
 */
export declare const pageHeadSymbol: InjectionKey<PageHeadRef>;
/**
 * Returns the ref of the head config of current page
 */
export declare const usePageHead: () => PageHeadRef;
/**
 * Merge the head config in frontmatter and site locale
 *
 * Frontmatter should take priority over site locale
 */
export declare const resolvePageHead: (headTitle: PageHeadTitle, frontmatter: PageFrontmatter, siteLocale: SiteLocaleData) => HeadConfig[];
