import { AICharacterRenderController } from "../AICharacterManager";
import { VoiceNames } from "../repo/voices";
export declare class Misc {
    sentenceSplitter: SentenceSplitter;
    arrayBufferProvider: ArrayBufferProvider;
    renderController: AICharacterRenderController;
    constructor(renderController: AICharacterRenderController);
    updateVrmUrl(url: string): void;
    updateVoiceName(voiceName: VoiceNames): void;
    sanitize(str: string): string;
}
export declare class SentenceSplitter {
    constructor();
    /**
     * @param rawText Text to split by sentence.
     * @param onlyReturnLastIfComplete If set to true, only the last sentence is returned
     *   and only if it is considered complete.
     * @param onlyReturnConfirmedSentences If true, only sentences that are confirmed
     *   complete by the presence of a following sentence are returned. The final
     *   sentence is dropped, as it may still be incomplete in streaming scenarios.
     *
     *   Example:
     *   "Hello. I am a Wolf. Wan Wan." → ["Hello.", "I am a Wolf."]
     *
     *   This is useful when processing streaming or incremental text where sentence
     *   boundaries may appear complete temporarily but are not yet final.
     * @returns Promise<SentenceResult[]>
     */
    split(str: string, onlyReturnLastIfComplete?: boolean, onlyReturnConfirmedSentences?: boolean): Promise<import("../worker/utils/sentence-splitter").SentenceResult[]>;
}
export declare class ArrayBufferProvider {
    constructor();
    urlify(arrayBuffer: ArrayBuffer): string;
}
//# sourceMappingURL=Misc.d.ts.map