import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
/**
 * Service that is used for obtaining existing scopes
 */
export class ScopeRegister {
    constructor() {
        //######################### protected properties #########################
        /**
         * Array of all scopes
         */
        this.ɵScopes = [];
        /**
         * Subject used for emitting changes of scopes
         */
        this.scopesChangeSubject = new Subject();
    }
    //######################### public properties #########################
    /**
     * Gets array of all scopes
     */
    get scopes() {
        return this.ɵScopes;
    }
    /**
     * Occurs when array of scopes changes
     */
    get scopesChange() {
        return this.scopesChangeSubject.asObservable();
    }
}
ScopeRegister.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ScopeRegister, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
ScopeRegister.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ScopeRegister });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ScopeRegister, decorators: [{
            type: Injectable
        }] });
//# sourceMappingURL=scopeRegister.service.js.map