import postcss from 'postcss'; import { Box } from './custom-values'; import { StylableMeta } from './stylable-meta'; import { StylableResults } from './stylable-transformer'; export declare type PartialObject = Partial & object; export declare type CSSObject = any & object; export interface ParsedValue { type: string; value: string; nodes?: any; resolvedValue?: string | Box; url?: string; } export interface StateTypeValidator { name: string; args: string[]; } export declare type StateArguments = Array; export interface StateParsedValue { type: string; defaultValue?: string; arguments: StateArguments; } export interface IStylableOptimizer { classNameOptimizer: IStylableClassNameOptimizer; namespaceOptimizer: IStylableNamespaceOptimizer; minifyCSS(css: string): string; optimize(config: object, stylableResult: StylableResults, usageMapping: Record, delimiter?: string): void; removeStylableDirectives(root: postcss.Root, shouldComment: boolean): void; } export interface IStylableClassNameOptimizer { context: { names: Record; }; rewriteSelector(selector: string, usageMapping: Record, globals: Record): string; generateName(name: string): string; optimizeAstAndExports(ast: postcss.Root, exported: Record, classes: string[], usageMapping: Record, globals?: Record): void; } export interface IStylableNamespaceOptimizer { index: number; namespacePrefix: string; namespaceMapping: Record; getNamespace(meta: StylableMeta, ..._env: any[]): string; } export declare type ModuleResolver = (directoryPath: string, request: string) => string; //# sourceMappingURL=types.d.ts.map