import type HtmlWebpackPlugin from "html-webpack-plugin";
import type { Compilation } from "webpack";
export type HtmlTagObject = HtmlWebpackPlugin.HtmlTagObject;
export type getHtmlWebpackPluginHooksType = (compilation: Compilation) => HtmlWebpackPlugin.Hooks;
/**
* @public
*/
export interface SubresourceIntegrityPluginOptions {
readonly hashFuncNames?: [string, ...string[]];
readonly enabled?: "auto" | true | false;
readonly hashLoading?: "eager" | "lazy";
}
export type SubresourceIntegrityPluginResolvedOptions = Required;
export interface Graph {
vertices: Set;
edges: Map>;
}
export interface StronglyConnectedComponent {
nodes: Set;
}
export type AssetType = "js" | "css";
export type TemplateFiles = {
[key in AssetType]: string[];
};
export interface HWPAssets {
publicPath: string;
js: string[];
css: string[];
favicon?: string | undefined;
manifest?: string | undefined;
}
export interface WSIHWPAssets extends HWPAssets {
jsIntegrity: string[];
cssIntegrity: string[];
}
type KeysOfType = {
[P in keyof T]: T[P] extends TProp ? P : never;
}[keyof T];
export type WSIHWPAssetsIntegrityKey = KeysOfType;
type ImmutablePrimitive = string | number | boolean | undefined | null;
type ImmutableSet = ReadonlySet>;
type ImmutableMap = ReadonlyMap, Immutable>;
type ImmutableObject = {
readonly [P in keyof T]: Immutable;
};
export type Immutable = T extends ImmutablePrimitive ? T : T extends Map ? ImmutableMap : T extends Set ? ImmutableSet : ImmutableObject;
export {};
//# sourceMappingURL=types.d.ts.map