import dompurify from "./dompurify/dompurify.js";
/**
 * List of safe, non-input html tags.
 */
export declare const basicMarkupHtmlTags: readonly string[];
export declare const defaultAllowedAttrs: readonly string[];
type UponSanitizeElementCb = (currentNode: Element, data: dompurify.SanitizeElementHookEvent, config: dompurify.Config) => void;
type UponSanitizeAttributeCb = (currentNode: Element, data: dompurify.SanitizeAttributeHookEvent, config: dompurify.Config) => void;
export interface DomSanitizerConfig {
    /**
     * Configured the allowed html tags.
     */
    readonly allowedTags?: {
        readonly override?: readonly string[];
        readonly augment?: readonly string[];
    };
    /**
     * Configured the allowed html attributes.
     */
    readonly allowedAttributes?: {
        readonly override?: readonly string[];
        readonly augment?: readonly string[];
    };
    /**
     * List of allowed protocols for `href` attributes.
     */
    readonly allowedLinkProtocols?: {
        readonly override?: readonly string[] | "*";
    };
    /**
     * List of allowed protocols for `src` attributes.
     */
    readonly allowedMediaProtocols?: {
        readonly override?: readonly string[];
    };
    readonly _do_not_use_hooks?: {
        readonly uponSanitizeElement?: UponSanitizeElementCb;
        readonly uponSanitizeAttribute?: UponSanitizeAttributeCb;
    };
}
/**
 * Sanitizes an html string.
 *
 * @param untrusted The HTML string to sanitize.
 * @param config Optional configuration for sanitization. If not provided, defaults to a safe configuration.
 *
 * @returns A sanitized string of html.
 */
export declare function sanitizeHtml(untrusted: string, config?: DomSanitizerConfig): TrustedHTML;
/**
 * Sanitizes the given `value` and reset the given `node` with it.
 */
export declare function safeSetInnerHtml(node: HTMLElement, untrusted: string, config?: DomSanitizerConfig): void;
export {};
