import { URI, UriComponents } from './uri'; export interface MarkdownStringTrustedOptions { readonly enabledCommands: readonly string[]; } export interface IMarkdownString { readonly value: string; readonly isTrusted?: boolean | MarkdownStringTrustedOptions; readonly supportThemeIcons?: boolean; readonly supportHtml?: boolean; /** @internal */ readonly supportAlertSyntax?: boolean; readonly baseUri?: UriComponents; uris?: { [href: string]: UriComponents; }; } export declare const enum MarkdownStringTextNewlineStyle { Paragraph = 0, Break = 1 } export declare class MarkdownString implements IMarkdownString { value: string; isTrusted?: boolean | MarkdownStringTrustedOptions; supportThemeIcons?: boolean; supportHtml?: boolean; supportAlertSyntax?: boolean; baseUri?: URI; uris?: { [href: string]: UriComponents; } | undefined; static lift(dto: IMarkdownString): MarkdownString; constructor(value?: string, isTrustedOrOptions?: boolean | { isTrusted?: boolean | MarkdownStringTrustedOptions; supportThemeIcons?: boolean; supportHtml?: boolean; supportAlertSyntax?: boolean; }); appendText(value: string, newlineStyle?: MarkdownStringTextNewlineStyle): MarkdownString; appendMarkdown(value: string): MarkdownString; appendCodeblock(langId: string, code: string): MarkdownString; appendLink(target: URI | string, label: string, title?: string): MarkdownString; private _escape; } export declare function isEmptyMarkdownString(oneOrMany: IMarkdownString | IMarkdownString[] | null | undefined): boolean; export declare function isMarkdownString(thing: unknown): thing is IMarkdownString; export declare function markdownStringEqual(a: IMarkdownString, b: IMarkdownString): boolean; export declare function escapeMarkdownSyntaxTokens(text: string): string; /** * Escapes only the characters that would break out of markdown link text * (`[label](url)`) syntax: `\` and `]`. Use this when the escaped string is * displayed as the visible label of a link, since renderers that extract the * link text without re-parsing markdown (e.g. the chat inline anchor / skill * pill) would otherwise show full `escapeMarkdownSyntaxTokens` backslashes * (`\-`, `\.`, ...) verbatim. */ export declare function escapeMarkdownLinkLabel(text: string): string; /** * @see https://github.com/microsoft/vscode/issues/193746 */ export declare function appendEscapedMarkdownCodeBlockFence(code: string, langId: string): string; /** * Wraps arbitrary text in a markdown inline code span using a backtick fence * long enough to safely contain any backtick sequences present in the text. * * Backticks inside an inline code span cannot be backslash-escaped per the * CommonMark spec — the only safe way is to choose a delimiter run longer * than any run of backticks in the content (and pad with spaces if the * content begins or ends with a backtick). */ export declare function appendEscapedMarkdownInlineCode(text: string): string; export declare function escapeDoubleQuotes(input: string): string; export declare function removeMarkdownEscapes(text: string): string; export declare function parseHrefAndDimensions(href: string): { href: string; dimensions: string[]; }; export declare function createMarkdownLink(text: string, href: string, title?: string, escapeTokens?: boolean): string; export declare function createMarkdownCommandLink(command: { text: string; id: string; arguments?: unknown[]; tooltip: string; }, escapeTokens?: boolean): string; export declare function createCommandUri(commandId: string, ...commandArgs: unknown[]): URI; //# sourceMappingURL=htmlContent.d.ts.map