/**
 * @module teams-ai
 */
/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License.
 */
import { ClientCitation } from './types';
import { Tokenizer } from './tokenizers';
/**
 * Utility functions for manipulating .
 */
export declare class Utilities {
    /**
     * Converts a value to a string.
     * @remarks
     * Dates are converted to ISO strings and Objects are converted to JSON or YAML, whichever is shorter.
     * @param {Tokenizer} tokenizer Tokenizer to use for encoding.
     * @param {any} value Value to convert.
     * @param {boolean} asJSON Optional. If true objects will always be converted to JSON instead of YAML. Defaults to false.
     * @returns {string} Converted value.
     */
    static toString(tokenizer: Tokenizer, value: any, asJSON?: boolean): string;
    /**
     *
     * Clips the text to a maximum length in case it exceeds the limit.
     * @param {string} text The text to clip.
     * @param {number} maxLength The maximum length of the text to return, cutting off the last whole word.
     * @returns {string} The modified text
     */
    static snippet(text: string, maxLength: number): string;
    /**
     * Convert citation tags `[doc(s)n]` to `[n]` where n is a number.
     * @param {string} text The text to format.
     * @returns {string} The formatted text.
     */
    static formatCitationsResponse(text: string): string;
    /**
     * Get the citations used in the text. This will remove any citations that are included in the citations array from the response but not referenced in the text.
     * @param {string} text - The text to search for citation references, i.e. [1], [2], etc.
     * @param {ClientCitation[]} citations - The list of citations to search for.
     * @returns {ClientCitation[] | undefined} The list of citations used in the text.
     */
    static getUsedCitations(text: string, citations: ClientCitation[]): ClientCitation[] | undefined;
}
//# sourceMappingURL=Utilities.d.ts.map