import { URI, UriComponents } from "./uri.js"; 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 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; /** * @see https://github.com/microsoft/vscode/issues/193746 */ export declare function appendEscapedMarkdownCodeBlockFence(code: string, langId: 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: { title: string; id: string; arguments?: unknown[]; tooltip?: string; }, escapeTokens?: boolean): string; export declare function createCommandUri(commandId: string, ...commandArgs: unknown[]): URI;