// author: simon-pierre boucher export interface PageMetadata { title?: string; description?: string; author?: string; canonical?: string; lang?: string; image?: string; siteName?: string; type?: string; publishedTime?: string; modifiedTime?: string; keywords?: string[]; } export interface StructuredData { jsonld: unknown[]; openGraph: Record; twitter: Record; } export interface ExtractOptions { readonly url: string; readonly onlyMainContent?: boolean; readonly includeTags?: readonly string[]; readonly excludeTags?: readonly string[]; } export interface ExtractResult { readonly markdown: string; readonly html: string; readonly links: PageLink[]; readonly metadata: PageMetadata; readonly structured: StructuredData; readonly textLength: number; } export interface PageLink { readonly url: string; readonly text: string; readonly rel: string | null; readonly isInternal: boolean; } export const PIPELINE_VERSION = "0.1.0";