import * as postcss from 'postcss'; import { StylableResults } from '../stylable-transformer'; import { Pojo } from '../types'; import { StylableClassNameOptimizer } from './classname-optimizer'; import { StylableNamespaceOptimizer } from './namespace-optimizer'; export interface OptimizeConfig { removeComments?: boolean; removeStylableDirectives?: boolean; removeUnusedComponents?: boolean; classNameOptimizations?: boolean; removeEmptyNodes?: boolean; } export declare class StylableOptimizer { classNameOptimizer: StylableClassNameOptimizer; namespaceOptimizer: StylableNamespaceOptimizer; constructor(classNameOptimizer?: StylableClassNameOptimizer, namespaceOptimizer?: StylableNamespaceOptimizer); minifyCSS(css: string): any; optimize(config: OptimizeConfig, stylableResults: StylableResults, delimiter?: string, usageMapping?: Pojo): void; removeStylableDirectives(root: postcss.Root, shouldComment?: boolean): void; private removeEmptyNodes; private removeComments; private removeUnusedComponents; private isContainsUnusedParts; } export declare function removeCommentNodes(root: postcss.Root): void; export declare function removeEmptyNodes(root: postcss.Root): void; export declare function createCommentFromNode(label: string, node: postcss.Node): postcss.Comment[]; export declare function createLineByLineComment(node: postcss.Node): postcss.Comment[]; export declare function removeRecursiveUpIfEmpty(node: postcss.Node): void; export declare function replaceRecursiveUpIfEmpty(label: string, node: postcss.Node): void; //# sourceMappingURL=stylable-optimizer.d.ts.map