/** * Medium API Handler * * Extracts articles from medium.com using the undocumented JSON API. * Supports main domain and subdomains. */ import { BaseSiteHandler, type FetchFunction, type SiteHandlerOptions, type SiteHandlerResult } from './types.js'; export declare class MediumHandler extends BaseSiteHandler { readonly name = "Medium"; readonly strategy: "api:medium"; canHandle(url: string): boolean; extract(url: string, fetch: FetchFunction, opts: SiteHandlerOptions): Promise; /** * Check if URL is a Medium article (has /@username/slug or /p/ or hash pattern) */ private isArticle; /** * Convert Medium URL to JSON API URL by appending ?format=json */ private getJsonUrl; /** * Strip Medium's JSON hijacking protection prefix * Medium prepends `])}while(1);` to JSON responses for security */ private stripJsonPrefix; /** * Extract article data from Medium's JSON response */ private extractArticle; /** * Find the main post object in Medium's JSON response */ private findPost; /** * Find creator (author) info in Medium's JSON response */ private findCreator; /** * Format Medium article content from paragraph data */ private formatContent; /** * Format Medium article data for output */ private formatArticle; } export declare const mediumHandler: MediumHandler; //# sourceMappingURL=medium-handler.d.ts.map