declare module 'xss' {
    export interface IFilterXSSOptions {
        whiteList?: IWhiteList;
        onTag?: (tag: string, html: string, options: any) => string;
        onTagAttr?: (tag: string, name: string, value: string, isWhiteAttr: boolean) => string;
        onIgnoreTag?: (tag: string, html: string, options: any) => string;
        onIgnoreTagAttr?: (tag: string, name: string, value: string, isWhiteAttr: boolean) => string;
        escapeHtml?: (html: string) => string;
        stripIgnoreTag?: boolean;
        stripIgnoreTagBody?: boolean | string[];
        allowCommentTag?: boolean;
    }

    export interface IWhiteList {
        [key: string]: string[];
    }

    export const whiteList: IWhiteList;

    export class FilterXSS {
        constructor(options?: IFilterXSSOptions);
        process(html: string): string;
    }

    export function filterXSS(html: string, options?: IFilterXSSOptions): string;
    export default filterXSS;
}
