import type { Component } from 'svelte'; import type { NavigationItem } from 'markpage'; export interface ComponentNode { name: string; props: Record; children?: string; position: { start: number; end: number; }; } export interface ComponentOptions { defaultProps?: Record; validate?: (props: Record) => boolean | string; } export interface RegisteredComponent { component: Component; options: ComponentOptions; } export interface ParsedContent { type: 'text' | 'component'; content: string | ComponentNode; } export interface MarkpageSvelteOptions { enableComponents?: boolean; strictMode?: boolean; } export interface RenderContext { path: string; navigation: NavigationItem[]; content: Record; } export { MarkpageOptions, type MarkdownExtension, type MarkdownExtensionSet } from './markdown/MarkpageOptions.js';