/** * @fileoverview SlidingWindowDecomposer (SPEC Section 6.1) * * Fixed-size windows with optional overlap. * * Per D-INV-*: * - D-INV-0: chunk.text === input.slice(span.start, span.end) * - D-INV-1: chunks.length >= 1 * - D-INV-2: chunks[i].index === i * - D-INV-2b: chunks sorted by span.start * - D-INV-3: 0 <= span.start <= span.end <= input.length * * @module strategies/decompose/sliding-window */ import type { Chunk } from "../../core/types/chunk.js"; import type { DecomposeStrategy, DecomposeOptions } from "../../core/interfaces/decomposer.js"; /** * Fixed-size windows with optional overlap. * * Per SPEC Section 6.1: * - Chunks are fixed-size windows * - Overlap creates context preservation (OVL-*) * - Default is non-overlap (OVL-3) */ export declare class SlidingWindowDecomposer implements DecomposeStrategy { readonly name = "SlidingWindowDecomposer"; private readonly defaultChunkSize; private readonly defaultOverlapSize; /** * Create a SlidingWindowDecomposer. * * @param chunkSize - Default chunk size in characters * @param overlapSize - Default overlap size in characters (default: 0) */ constructor(chunkSize?: number, overlapSize?: number); /** * Decompose text into fixed-size chunks. */ decompose(text: string, options?: DecomposeOptions): Promise; } //# sourceMappingURL=sliding-window.d.ts.map