type UpduxConfig<TState> = Partial<{
    initial: TState;
    subduxes: Record<string, any>;
    actions: Record<string, any>;
    selectors: Record<string, Function>;
    mutations: Record<string, Function>;
    mappedSelectors: Record<string, Function>;
    effects: Record<string, Function>;
    reactions: Record<string, Function>;
    mappedReaction: Function;
}>;

export class Updux<TState = unknown> {
    constructor(config: UpduxConfig<TState>);

    get initial(): TState;
    get selectors(): unknown;
}
