import type MarkdownIt from "markdown-it"; export interface DocoddityContents { title?: string; head?: (string | DocoddityFileDefinition)[]; body?: (string | DocoddityFileDefinition)[]; nav?: DocoddityNav; config?: { algolia?: AlgoliaConfig; }; theme?: string; markdown?: string; } export type MarkdownEnhancerFn = (md: MarkdownIt) => (void | Promise); export interface AlgoliaConfig { appId: string; indexName: string; apiKey: string; } export type SharedCLIArgs = Folders & { viteConfig?: string; }; export interface Folders { sourceDir: string; targetDir: string; buildDir?: string; } export interface DevCLIOpts extends Omit { port: number; open?: boolean; } interface GenericWatchEvent { data: string; args?: { siteFile?: boolean; }; } interface AddEvent extends GenericWatchEvent { type: 'add'; } interface ChangeEvent extends GenericWatchEvent { type: 'change'; } interface DeleteEvent extends GenericWatchEvent { type: 'unlink'; } interface ReadyEvent { type: 'ready'; } interface ErrorEvent { type: 'error'; data: Error; } type WatchCallbackEvent = ErrorEvent | AddEvent | ChangeEvent | DeleteEvent | ReadyEvent; export type WatchCallback = (event: WatchCallbackEvent) => (void | Promise); export declare const isWatchAddEvent: (event: WatchCallbackEvent) => event is AddEvent; export declare const isWatchChangeEvent: (event: WatchCallbackEvent) => event is ChangeEvent; export declare const isWatchDeleteEvent: (event: WatchCallbackEvent) => event is DeleteEvent; export type ValidTagValue = string | number | boolean | { filename: string; }; export type DocoddityFileDefinition = Record; export interface DocoddityNavItem { url: string; text: string; mobile?: boolean; class?: string; target?: string; rel?: string; ariaLabel?: string; } export interface DocoddityNav { left?: DocoddityNavItem[]; right?: DocoddityNavItem[]; } export interface TagDefinitionFilepathContent { filename: string; } export type ValidTagName = 'script' | 'link'; export type TagDefinition = { tag: ValidTagName; content?: string | TagDefinitionFilepathContent; } & DocoddityFileDefinition; export type TagDefinitionWithStringContent = { tag: ValidTagName; content?: string; } & Omit; export type TagDefinitionWithFilepathContent = { tag: ValidTagName; content: TagDefinitionFilepathContent; } & Omit; export declare const isTagDefinition: (tag: string | DocoddityFileDefinition) => tag is TagDefinition; export declare const isTagDefinitionWithStringContent: (tag: TagDefinition) => tag is TagDefinitionWithStringContent; export declare const isTagDefinitionWithFilepathContent: (tag: TagDefinition) => tag is TagDefinitionWithFilepathContent; export type ValidTagForTemplateRendering = (TagDefinitionWithStringContent | { tag: ValidTagName; } & Omit); export interface PageDefinition { url?: string; title: string; children: PageDefinition[]; current?: boolean; order?: number; open?: boolean; } export interface PageDefinitionWithURL extends PageDefinition { url: string; } export declare const isPageDefinitionWithURL: (page: PageDefinition) => page is PageDefinitionWithURL; export interface DocoddityRenderedArgs { page: { url: string; pages: PageDefinition[]; }; title?: string; docoddity: { head: (TagDefinitionWithStringContent | string)[]; body: (TagDefinitionWithStringContent | string)[]; } & Omit; theme: { head: (TagDefinitionWithStringContent | string)[]; body: (TagDefinitionWithStringContent | string)[]; } & Omit; content: string | Promise; } export interface DocoddityFilepath { sourceFilepath: string; targetFilepath: string; } export interface Frontmatter { title?: string; order?: number; } export declare const isDocoddityNavItem: (item: unknown) => item is DocoddityNavItem; export declare const isDocoddityNav: (nav: unknown) => nav is DocoddityNav; export declare const isDocoddityFileDefinition: (tag: unknown) => tag is DocoddityFileDefinition; export declare const isDocoddityContentsHeadOrBodyTag: (tag: unknown) => tag is (string | DocoddityFileDefinition); export declare const isDocoddityContentsHeadOrBody: (tags: unknown) => tags is (string | DocoddityFileDefinition)[]; export declare const isDocoddityContentsConfig: (config: unknown) => config is DocoddityContents["config"]; export declare const isDocoddityContentsConfigAlgolia: (config: unknown) => config is AlgoliaConfig; export declare const isDocoddityContents: (contents: unknown) => contents is DocoddityContents; export interface DocoddityViteConfigArgs { docoddityMode: 'build' | 'dev'; sourceDir: string; targetDir: string; } export {};