import type { PageNode } from './types.js';
export interface ExtractedContent {
    plainText: string;
    wordCount: number;
    headings: {
        level: number;
        text: string;
        blockId: string;
    }[];
    images: {
        src: string;
        alt: string;
        blockId: string;
    }[];
    links: {
        url: string;
        text: string;
        internal: boolean;
        blockId: string;
    }[];
    blockTexts: Map<string, string>;
}
export interface ReadabilityResult {
    fleschScore: number;
    avgSentenceLength: number;
    wordCount: number;
    readingTime: number;
    passiveEstimate: number;
}
export interface SEOCheck {
    id: string;
    label: string;
    status: 'good' | 'warning' | 'error';
    detail: string;
    blockId?: string;
}
export interface SEOAnalysis {
    score: number;
    checks: SEOCheck[];
    readability: ReadabilityResult;
    content: ExtractedContent;
    perBlockHints: Map<string, SEOCheck[]>;
}
export interface PageSettings {
    title: string;
    slug: string;
    metaTitle?: string;
    metaDescription?: string;
    focusKeyphrase?: string;
    ogImage?: string;
    schemaType?: string;
    template?: string;
}
export declare function stripHtml(html: string): string;
export declare function countWords(text: string): number;
export declare function countSentences(text: string): number;
export declare function countSyllables(word: string): number;
export declare function extractContent(tree: PageNode): ExtractedContent;
export declare function analyzeReadability(text: string): ReadabilityResult;
export declare function analyzeSEO(tree: PageNode, pageSettings: PageSettings): SEOAnalysis;
//# sourceMappingURL=seo-analyzer.d.ts.map