import type { TiktokenModel, TiktokenEncoding, Tiktoken } from 'js-tiktoken';
import { Document } from '../schema/index.js';
import type { SemanticMarkdownChunkOptions } from '../types.js';
import { TextTransformer } from './text.js';
export declare class SemanticMarkdownTransformer extends TextTransformer {
    private tokenizer;
    private joinThreshold;
    private allowedArray;
    private disallowedArray;
    constructor({ joinThreshold, encodingName, modelName, tokenizer: existingTokenizer, allowedSpecial, disallowedSpecial, ...baseOptions }?: SemanticMarkdownChunkOptions & {
        tokenizer?: Tiktoken;
    });
    private countTokens;
    private splitMarkdownByHeaders;
    private mergeSemanticSections;
    splitText({ text }: {
        text: string;
    }): string[];
    createDocuments(texts: string[], metadatas?: Record<string, any>[]): Document[];
    transformDocuments(documents: Document[]): Document[];
    static fromTikToken({ encodingName, modelName, options, }: {
        encodingName?: TiktokenEncoding;
        modelName?: TiktokenModel;
        options?: SemanticMarkdownChunkOptions;
    }): SemanticMarkdownTransformer;
}
//# sourceMappingURL=semantic-markdown.d.ts.map