/** * Block Extractor * Finds translatable block elements in DOM and parses them into ContentUnit. * Mirrors WordPress TS BlockExtractor and edge proxy block-level approach. */ import type { ContentUnit } from '../content/types.js'; import { ExcludePatterns } from './exclude-filter.js'; export interface ExtractedBlock { element: Element; unit: ContentUnit; key: string; } export declare class BlockExtractor { private excludeFilter; private excludeSelectors; constructor(excludePatterns?: Partial, excludeSelectors?: string[], minTextLength?: number); /** * Extract all translatable block elements from a root. * @param includeTranslated - If true, include elements already marked as translated (for editor mode) */ extract(root: Element | Document, includeTranslated?: boolean): ExtractedBlock[]; /** * Second pass: extract inline elements (currently ) that have no block * ancestor. These would otherwise slip through both the block pass (not in * BLOCK_SELECTOR) and the inline-style capture (no parent block to host * them as `<1>...`). Common shape: a `
` action group containing * only links. */ private extractOrphanInline; private isInsideSkipTag; private hasSkipAttribute; private matchesExcludeSelector; } //# sourceMappingURL=block-extractor.d.ts.map