import * as proxyStateTree from 'proxy-state-tree';
import { IConfiguration } from './types';
import * as internalTypes from './internalTypes';
import { Overmind } from './Overmind';
export interface OvermindMock<Config extends IConfiguration> extends Overmind<Config> {
    onInitialize: () => Promise<proxyStateTree.IMutation[]>;
    mutations: proxyStateTree.IMutation[];
}
export declare function createOvermindMock<Config extends IConfiguration>(config: Config): OvermindMock<Config>;
export declare function createOvermindMock<Config extends IConfiguration>(config: Config, setInitialState: (state: Config['state']) => void): OvermindMock<Config>;
export declare function createOvermindMock<Config extends IConfiguration>(config: Config, mockedEffects: internalTypes.NestedPartial<Config['effects']>): OvermindMock<Config>;
export declare function createOvermindMock<Config extends IConfiguration>(config: Config, mockedEffects: internalTypes.NestedPartial<Config['effects']>, setInitialState: (state: Config['state']) => void): OvermindMock<Config>;
