import type HtmlWebpackPlugin from 'html-webpack-plugin';
import type { Compiler } from 'webpack';
import { HtmlInjectTag, HtmlInjectTagDescriptor } from '../types';
export interface HtmlTagsPluginOptions {
    hash?: HtmlInjectTag['hash'];
    publicPath?: HtmlInjectTag['publicPath'];
    append?: HtmlInjectTag['append'];
    includes?: string[];
    tags?: HtmlInjectTagDescriptor[];
    HtmlPlugin: typeof HtmlWebpackPlugin;
}
export interface AdditionalContext {
    HtmlPlugin: Extract<HtmlTagsPluginOptions['HtmlPlugin'], Function>;
}
export type Context = Omit<HtmlTagsPluginOptions, keyof AdditionalContext> & AdditionalContext;
/** @see {@link https://developer.mozilla.org/en-US/docs/Glossary/Void_element} */
export declare const VOID_TAGS: string[];
/** @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head#see_also} */
export declare const HEAD_TAGS: string[];
export declare const FILE_ATTRS: {
    link: string;
    script: string;
};
export declare class HtmlTagsPlugin {
    readonly name: string;
    meta: Record<string, string>;
    ctx: Context;
    constructor(opts: HtmlTagsPluginOptions);
    apply(compiler: Compiler): void;
}
