import type * as tiktoken from "@dqbd/tiktoken"; import { Document } from "./document.js"; export interface TextSplitterParams { chunkSize: number; chunkOverlap: number; } export declare abstract class TextSplitter implements TextSplitterParams { chunkSize: number; chunkOverlap: number; constructor(fields?: Partial); abstract splitText(text: string): Promise; createDocuments(texts: string[], metadatas?: Record[]): Promise; splitDocuments(documents: Document[]): Promise; private joinDocs; mergeSplits(splits: string[], separator: string): string[]; } export interface CharacterTextSplitterParams extends TextSplitterParams { separator: string; } export declare class CharacterTextSplitter extends TextSplitter implements CharacterTextSplitterParams { separator: string; constructor(fields?: Partial); splitText(text: string): Promise; } export interface RecursiveCharacterTextSplitterParams extends TextSplitterParams { separators: string[]; } export declare class RecursiveCharacterTextSplitter extends TextSplitter implements RecursiveCharacterTextSplitterParams { separators: string[]; constructor(fields?: Partial); splitText(text: string): Promise; } export interface TokenTextSplitterParams extends TextSplitterParams { encodingName: tiktoken.TiktokenEncoding; allowedSpecial: "all" | Array; disallowedSpecial: "all" | Array; } /** * Implementation of splitter which looks at tokens. */ export declare class TokenTextSplitter extends TextSplitter implements TokenTextSplitterParams { encodingName: tiktoken.TiktokenEncoding; allowedSpecial: "all" | Array; disallowedSpecial: "all" | Array; private tokenizer; private registry; constructor(fields?: Partial); splitText(text: string): Promise; static imports(): Promise; } export type MarkdownTextSplitterParams = TextSplitterParams; export declare class MarkdownTextSplitter extends RecursiveCharacterTextSplitter implements MarkdownTextSplitterParams { separators: string[]; constructor(fields?: Partial); }