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<SentenceWindowNodeParser>);
    static fromDefaults(init?: Partial<SentenceWindowNodeParser>): SentenceWindowNodeParser;
    transform(nodes: BaseNode[], _options?: any): Promise<BaseNode[]>;
    getNodesFromDocuments(documents: BaseNode[]): BaseNode<import("../Node.js").Metadata>[];
    protected buildWindowNodesFromDocument(doc: BaseNode): BaseNode[];
}
