import { ObjectBase } from '@awesome-nodes/object';
import { Observable } from 'rxjs';
export interface IService<T> {
    backgroundWorkers: Map<string, Observable<T>>;
}
/**
 * Represents the base object for the service in the service provider pattern.
 */
export declare abstract class ServiceBase<T> extends ObjectBase implements IService<T> {
    protected _backgroundWorkers: Map<string, Observable<T>>;
    /**
     * Returns currently active background workers of this instance.
     * @returns {Map<string, Observable<T>>}
     */
    get backgroundWorkers(): Map<string, Observable<T>>;
    /**
     * Returns a boolean value which indicates if this service instance contains active background workers.
     * @returns {boolean}
     */
    get isBusy(): boolean;
    protected createBackgroundWorker(observable: Observable<T>, workerName: string): Observable<T>;
}
