import { Marked } from '../../../external/marked/index.js';
import { UmbContextBase } from '../../../libs/class-api/index.js';
import { UmbContextToken } from '../../../libs/context-api/index.js';
import type { UmbControllerHost } from '../../../libs/controller-api/index.js';
export declare const UmbMarked: Marked<string, string>;
export type UmbUfmFilterFunction = ((...args: Array<unknown>) => string | undefined | null) | undefined;
export type UmbUfmFilterType = {
    alias: string;
    filter: UmbUfmFilterFunction;
};
export declare class UmbUfmContext extends UmbContextBase {
    #private;
    readonly filters: import("rxjs").Observable<UmbUfmFilterType[]>;
    constructor(host: UmbControllerHost);
    /**
     * Get the filters registered in the UFM context.
     * @returns {Array<UmbUfmFilterType>} An array of filters with their aliases and filter functions.
     */
    getFilters(): Array<UmbUfmFilterType>;
    /**
     * Get a filter by its alias.
     * @param alias The alias of the filter to retrieve.
     * @returns {UmbUfmFilterFunction} The filter function associated with the alias, or undefined if not found.
     */
    getFilterByAlias(alias: string): UmbUfmFilterFunction;
    /**
     * Parse markdown content, optionally inline.
     * @param markdown The markdown string to parse.
     * @param inline If true, parse inline markdown; otherwise, parse block markdown.
     * @returns {Promise<string>} A promise that resolves to the parsed HTML string.
     */
    parse(markdown: string, inline: boolean): Promise<string>;
}
export declare const UMB_UFM_CONTEXT: UmbContextToken<UmbUfmContext, UmbUfmContext>;
export { UmbUfmContext as api };
