import { IAction, IPayload } from '../Action'; import IEffect from './IEffect'; export declare type RawType = 'css' | 'js'; export declare namespace Middleware { enum Type { NEXT = "next", CAPTURE = "capture" } interface INext extends IEffect { payload: IAction; } type ICapture = IEffect; type ITypes = INext | ICapture; } export declare namespace Payload { interface IStatus { status: number; } interface IRaw { output: string; type: RawType; } interface IOutput { output: TOutput; } type INothing = undefined; type ITypes = IStatus | IRaw | IOutput | INothing; } export declare namespace Effect { enum Type { STATUS = "status", OUTPUT = "output", RAW = "raw", NOTHING = "nothing" } interface IStatus extends IEffect { payload: Payload.IStatus; } interface IRaw extends IEffect { payload: Payload.IRaw; } interface IOutput extends IEffect { payload: Payload.IOutput; } interface INothing extends IEffect { payload: Payload.INothing; } type ITypes = Middleware.ITypes | IStatus | IRaw | IOutput | INothing | void; } declare type Type = Middleware.Type | Effect.Type; export default Type;