import { ExpectationsStorage } from '../../../expectations';
import { Container, ContainersStorage } from '../containers';
import { History, HistoryStorage } from '../history';
import { IServerContext } from '../../types';
import { Provider } from './model';
export declare class SystemContainersStorage extends ContainersStorage<any> {
    /** Creates containers using provided dump */
    restore(containers: Container['TBackup'][]): this;
}
export declare class SystemHistoryStorage extends HistoryStorage {
    /** Injects and registers history items from plain */
    restore(list: History['TPlain'][]): this;
}
export declare class SystemProvider<TContext extends IServerContext = any> extends Provider<TContext> {
    storages: {
        expectations: ExpectationsStorage;
        containers: SystemContainersStorage;
        history: SystemHistoryStorage;
    };
    /** Distributes persistent history and containers to target provider */
    distribute(provider: Provider): void;
    static build(provided: Provider['provided']): SystemProvider;
}
//# sourceMappingURL=system.d.ts.map