import * as binding from "./binding"; export type MinifierType = "js-module" | "js-script" | "json" | "css" | "html"; export type Options = { filename?: string; iframeSrcdoc?: boolean; scriptingEnabled?: boolean; forceSetHtml5Doctype?: boolean; collapseWhitespaces?: "none" | "all" | "smart" | "conservative" | "advanced-conservative" | "only-metadata"; removeEmptyMetadataElements?: boolean; removeComments?: boolean; preserveComments?: string[]; minifyConditionalComments?: boolean; removeEmptyAttributes?: boolean; removeRedundantAttributes?: "none" | "all" | "smart"; collapseBooleanAttributes?: boolean; normalizeAttributes?: boolean; minifyJson?: boolean | { pretty?: boolean; }; minifyJs?: boolean | { parser?: any; minifier?: any; codegen?: any; }; minifyCss?: boolean | { lib: "lightningcss"; } | { lib: "swc"; parser?: any; minifier?: any; codegen?: any; }; minifyAdditionalScriptsContent?: [string, MinifierType][]; minifyAdditionalAttributes?: [string, MinifierType][]; sortSpaceSeparatedAttributeValues?: boolean; sortAttributes?: boolean; tagOmission?: boolean | "keep-head-and-body"; selfClosingVoidElements?: boolean; quotes?: boolean; }; export type FragmentOptions = Options & { mode?: "no-quirks" | "limited-quirks" | "quirks"; context_element?: binding.Element; form_element?: binding.Element; }; export declare function minify(content: string | Buffer, options?: Options): Promise; export declare function minifyFragment(content: string | Buffer, options?: FragmentOptions): Promise; export declare function minifySync(content: string | Buffer, options?: Options): binding.TransformOutput; export declare function minifyFragmentSync(content: string | Buffer, options?: FragmentOptions): binding.TransformOutput;