import type { CacheItem, FileProcessor, MinimalFS } from './cached-process-file'; import { Diagnostics } from './diagnostics'; import { CssParser } from './parser'; import { processNamespace, StylableProcessor } from './stylable-processor'; import type { StylableMeta } from './stylable-meta'; import { StylableResolverCache, StylableResolver, CachedModuleEntity } from './stylable-resolver'; import { ResolvedElement, StylableResults, TransformerOptions, TransformHooks } from './stylable-transformer'; import type { IStylableOptimizer, ModuleResolver } from './types'; import { IRequestResolverOptions, IResolutionFileSystem } from './module-resolver'; import { STImport, STScope, STVar, STMixin, CSSClass, CSSCustomProperty } from './features'; import { Dependency } from './visit-meta-css-dependencies'; import { type FeatureFlags } from './features/feature'; export interface StylableConfigBase { projectRoot: string; requireModule?: (path: string) => any; onProcess?: (meta: StylableMeta, path: string) => StylableMeta; hooks?: TransformHooks; optimizer?: IStylableOptimizer; mode?: 'production' | 'development'; resolveNamespace?: typeof processNamespace; cssParser?: CssParser; resolverCache?: StylableResolverCache; fileProcessorCache?: Record>; experimentalSelectorInference?: boolean; flags?: Partial; } export type StylableConfig = StylableConfigBase & ({ fileSystem: MinimalFS; resolveModule: ModuleResolver; } | { fileSystem: IResolutionFileSystem; resolveModule?: ModuleResolver | Omit; }); export declare function validateDefaultConfig(defaultConfigObj: any): void; interface InitCacheParams { filter?(key: string, entity: CachedModuleEntity): boolean; } export type CreateProcessorOptions = Pick; export declare class Stylable { fileProcessor: FileProcessor; resolver: StylableResolver; stModule: STImport.StylablePublicApi; stScope: STScope.StylablePublicApi; cssCustomProperty: CSSCustomProperty.StylablePublicApi; stVar: STVar.StylablePublicApi; stMixin: STMixin.StylablePublicApi; cssClass: CSSClass.StylablePublicApi; projectRoot: string; protected fileSystem: IResolutionFileSystem | MinimalFS; protected requireModule: (path: string) => any; protected onProcess?: (meta: StylableMeta, path: string) => StylableMeta; protected diagnostics: Diagnostics; protected hooks: TransformHooks; optimizer?: IStylableOptimizer; protected mode: 'production' | 'development'; resolveNamespace?: typeof processNamespace; moduleResolver: ModuleResolver; protected cssParser: CssParser; protected resolverCache?: StylableResolverCache; protected fileProcessorCache?: Record>; private experimentalSelectorInference; flags: FeatureFlags; constructor(config: StylableConfig); private initModuleResolver; getDependencies(meta: StylableMeta): Dependency[]; initCache({ filter }?: InitCacheParams): void; createResolver({ requireModule, resolverCache, resolvePath, }?: Pick & { resolvePath?: ModuleResolver; }): StylableResolver; createProcessor({ resolveNamespace, }?: CreateProcessorOptions): StylableProcessor; private createTransformer; transform(pathOrMeta: string | StylableMeta, options?: Partial): StylableResults; transformSelector(pathOrMeta: string | StylableMeta, selector: string, options?: Partial): { selector: string; resolved: ResolvedElement[][]; }; transformCustomProperty(pathOrMeta: string | StylableMeta, prop: string): string; transformDecl(pathOrMeta: string | StylableMeta, prop: string, value: string, options?: Partial): { prop: string; value: string; }; private transformAST; analyze(fullPath: string, overrideSrc?: string): StylableMeta; resolvePath(directoryPath: string, request: string): string; } export {}; //# sourceMappingURL=stylable.d.ts.map