import { OnDestroy } from '@angular/core';
import { Subject } from 'rxjs';
import { ValidationResult } from '@colijnit/ioneconnector/build/model/validation-result';
import { BaseModuleScreenConfigService } from './base-module-screen-config.service';
/**
 * Base class for top-level services of CRUD-style iOne modules (the Relation, Article and Transaction modules).
 * What sets these modules apart, is the concept of a relatively bulky, 'single businessobject' being manipulated throughout all the tabs.
 *
 * Many other (smaller?) iOne modules work with multiple LISTS of different business object types instead.
 */
export declare abstract class BaseModuleService implements OnDestroy {
    protected screenConfigService: BaseModuleScreenConfigService;
    readonly readonlyChange: Subject<boolean>;
    readonly errorValidationReceived: Subject<ValidationResult>;
    readonly successfulUpdate: Subject<void>;
    get readonly(): boolean;
    set readonly(readonly: boolean);
    protected _readonly: boolean;
    private _subscriptions;
    constructor(screenConfigService: BaseModuleScreenConfigService);
    ngOnDestroy(): void;
}
