import type { BaseNode } from "../Node.js"; import { SentenceSplitter } from "../TextSplitter.js"; import type { NodeParser } from "./types.js"; export declare const DEFAULT_WINDOW_SIZE = 3; export declare const DEFAULT_WINDOW_METADATA_KEY = "window"; export declare const DEFAULT_OG_TEXT_METADATA_KEY = "original_text"; export declare class SentenceWindowNodeParser implements NodeParser { /** * The text splitter to use. */ textSplitter: SentenceSplitter; /** * The number of sentences on each side of a sentence to capture. */ windowSize: number; /** * The metadata key to store the sentence window under. */ windowMetadataKey: string; /** * The metadata key to store the original sentence in. */ originalTextMetadataKey: string; /** * Whether to include metadata in the nodes. */ includeMetadata: boolean; /** * Whether to include previous and next relationships in the nodes. */ includePrevNextRel: boolean; constructor(init?: Partial); static fromDefaults(init?: Partial): SentenceWindowNodeParser; transform(nodes: BaseNode[], _options?: any): Promise; getNodesFromDocuments(documents: BaseNode[]): BaseNode[]; protected buildWindowNodesFromDocument(doc: BaseNode): BaseNode[]; }