/// /// import type { Writable } from 'stream'; import type { Matcher } from 'anymatch'; import type { AwaitWriteFinishOptions, WatchOptions } from 'chokidar'; import type { AcceptedPlugin, ProcessOptions, SourceMapOptions } from 'postcss'; import type { PluginOptions } from '../postcssPlugin/types'; export interface SessionOptions { include?: Array | string; exclude?: Matcher; extensions?: Array; helper?: string; ext?: string; css?: string; watch?: boolean; chokidar?: WatchOptions; postcssPlugins?: Array; postcssOptions?: ProcessOptions; esifycssPluginParameter?: PluginOptions; stdout?: Writable; stderr?: Writable; } export interface ReadonlyWatchOptions extends Readonly { awaitWriteFinish?: Readonly | boolean; } export interface SessionOutput { type: 'css' | 'script'; path: string; } export interface SessionConfiguration { readonly watch: boolean; readonly output: SessionOutput; readonly ext: string; readonly path: ReadonlyArray; readonly chokidar: ReadonlyWatchOptions; readonly stdout: Writable; readonly stderr: Writable; readonly postcssPlugins: Array; readonly postcssOptions: ProcessOptions; readonly cssKey: string; } export interface CSSParserParameters { file: string; css?: Buffer | string; options?: ProcessOptions; plugins: Array; map?: SourceMapOptions; } export interface CSSParserConfigurations { readonly css: string; readonly plugins: Array; readonly options: { readonly from: string; readonly map: SourceMapOptions; }; }