import { FormBuilder, FormGroup } from '@angular/forms';
import { IApplication } from '@c8y/client';
import { AlertService } from '@c8y/ngx-components';
import { DefaultSubscriptions, PartialAppsList } from './default-subscriptions.model';
import { DefaultSubscriptionsService } from './default-subscriptions.service';
import * as i0 from "@angular/core";
/**
 * The component shows the main view for managing default subscriptions configuration.
 */
export declare class DefaultSubscriptionsComponent {
    private fb;
    private defaultSubscriptionsService;
    private alertService;
    /** Default subscriptions inherited from parent tenant. */
    parentDefaultSubscriptions: DefaultSubscriptions;
    /** Default subscriptions defined in the current tenant. */
    currentDefaultSubscriptions: DefaultSubscriptions;
    /** Form object. */
    form: FormGroup;
    /** Whether the configuration is being loaded. */
    loading: boolean;
    /** Hint text for disabled checkboxes. */
    disabledCheckboxHint: "Select \"Override inherited\" to enable.";
    constructor(fb: FormBuilder, defaultSubscriptionsService: DefaultSubscriptionsService, alertService: AlertService);
    /** Initializes the loading of the form and the current settings. */
    ngOnInit(): Promise<void>;
    /** Loads the list of apps, builds the form and hooks value change events for override switches. */
    initForm(): Promise<void>;
    /**
     * Checks if given application row should be displayed.
     * The row is displayed when any of its checkboxes is selected or any of the lists is being overridden.
     */
    shouldShowAppRow(appRowRawValue: any): boolean;
    /** Checks if there are no application rows to be displayed. */
    isEmptyView(): boolean;
    /**
     * Checks if given application is subscribed (present in the given list of applications).
     * @param app Application object to check.
     * @param subscribedApps The list of application objects to check against.
     * @returns True, if the application is present in the list.
     */
    isSubscribed(app: IApplication, subscribedApps: PartialAppsList): boolean;
    /** Saves the current value of form object to backend. */
    save(): Promise<void>;
    private onOverrideOnCreationSubscriptionsChange;
    private enableSubscribeOnCreationCheckboxes;
    private disableSubscribeOnCreationCheckboxes;
    private restoreSubscribeOnCreationFromParent;
    private onOverrideOnUpgradeSubscriptionsChange;
    private enableSubscribeOnUpgradeCheckboxes;
    private disableSubscribeOnUpgradeCheckboxes;
    private restoreSubscribeOnUpgradeFromParent;
    private loadDefaultSubscriptions;
    private getDefaultSubscriptionsForSave;
    static ɵfac: i0.ɵɵFactoryDeclaration<DefaultSubscriptionsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DefaultSubscriptionsComponent, "c8y-default-subscriptions", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=default-subscriptions.component.d.ts.map