///
import { Maybe } from 'brookjs-types';
import webpack from 'webpack';
import * as t from 'io-ts';
import { ActionType } from 'typesafe-actions';
import { BabelRC } from '../babel';
import { Ext } from '../project';
import * as actions from './actions';
export declare type State = {
cmd: 'build' | 'start';
cwd: string;
env: webpack.Configuration['mode'];
extension: Ext;
watch: boolean;
rc: Maybe;
};
export declare const WebpackRC: t.PartialC<{
modifier: t.FunctionC;
entry: t.UnionC<[t.StringC, t.RecordC, t.ArrayC]>;
output: t.TypeC<{
path: t.StringC;
filename: t.UnionC<[t.FunctionC, t.StringC]>;
}>;
}>;
export declare type WebpackRC = Omit, 'modifier'> & {
modifier?: (config: webpack.Configuration, state: State) => webpack.Configuration;
};
export declare const RC: t.PartialC<{
dir: t.StringC;
babel: t.PartialC<{
modifier: t.FunctionC;
}>;
webpack: t.PartialC<{
modifier: t.FunctionC;
entry: t.UnionC<[t.StringC, t.RecordC, t.ArrayC]>;
output: t.TypeC<{
path: t.StringC;
filename: t.UnionC<[t.FunctionC, t.StringC]>;
}>;
}>;
}>;
export declare type RC = Omit, 'babel'> & {
babel?: BabelRC;
};
export declare type Action = ActionType;