export interface ExtractionResult { matches: string[]; count: number; method: string; } export type TableRow = Record; export interface PageMetadata { title: string | null; description: string | null; keywords: string | null; ogTitle: string | null; ogDescription: string | null; ogImage: string | null; ogUrl: string | null; ogType: string | null; ogSiteName: string | null; ogLocale: string | null; twitterCard: string | null; twitterTitle: string | null; twitterDescription: string | null; twitterImage: string | null; twitterSite: string | null; canonical: string | null; robots: string | null; hreflang: Array<{ lang: string; href: string; }>; themeColor: string | null; favicon: string | null; jsonLd: object[]; schemaTypes: string[]; lang: string | null; } export declare function extractByCssSelector(html: string, selector: string, attr?: string): ExtractionResult; export declare function extractByXPath(html: string, xpath: string): ExtractionResult; export declare function extractByRegex(text: string, pattern: string, flags?: string): ExtractionResult; export declare function extractTables(html: string): TableRow[][]; export declare function extractMetadata(html: string, url: string): PageMetadata; export interface ProductData { name: string | null; description: string | null; brand: string | null; sku: string | null; price: number | null; priceCurrency: string | null; availability: string | null; rating: number | null; reviewCount: number | null; image: string | null; url: string | null; } export declare function extractStructuredProduct(jsonLd: object[]): ProductData | null; export declare function extractImages(html: string, baseUrl: string): Array<{ src: string; alt: string; width?: number; height?: number; }>; export declare function extractMediaFiles(html: string, baseUrl: string): Array<{ url: string; type: 'image' | 'video' | 'audio' | 'document'; tag: string; }>;