import { Paths } from "../paths" ; import { Reducer } from "../reduce" ; export interface ReducerList { /**
     * Returns a list of reducers.
     */ getReducers ( ) : readonly Reducer [ ] ; /**
     * Sets list of reducers using the specified callback function.
     */ setReducers ( callback ) : void ; /**
     * Resets reducers to the defaults.
     */ resetReducers ( ) : void ; } export interface ReducerExecutor { reduce ( componentName ? ) : any ; } export interface Environment extends Pick < ReducerList , "setReducers" | "resetReducers" > { /**
     * Current working directory.
     *
     * Default values:
     *
     * - Node.js: `process.cwd()`
     * - Browser: `/`
     */ cwd : string ; /**
     * Current environment.
     */ env ? : string | string [ ] ; /**
     * Paths of environment files.
     */ paths : Paths ; /**
     * File extensions of environments.
     */ extensions : string [ ] ; /**
     * Returns global variables.
     */ global ( ) : any ; param name component ( name ) : any ; } export interface Loader { /**
     * Returns global variables. If the returned value is an array, the
     * value will be flattened.
     */ global ( ) : any ; param name component ( name ) : any ; }