import { FormGroup } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { AlertService } from '../alert/alert.service';
import { Permissions } from '../common/index';
import { C8yJSONSchema } from '../dynamic-forms/json-schema/c8y-json-schema.service';
import { ModalService } from '../modal/modal.service';
import { DynamicProviderLayoutConfig } from './model/dynamic-provider-config.model';
import { ProviderDefinition } from './model/provider-definition.model';
import { ProviderProperties } from './model/provider-properties.model';
import { ProviderConfigurationService } from './service/provider-configuration.service';
import { ProviderDefinitionsService } from './service/provider-definitions.service';
import * as i0 from "@angular/core";
export declare class ProviderConfigurationComponent {
    permissions: Permissions;
    private activatedRoute;
    private modalService;
    private alertService;
    private providerDefinitionsService;
    private providerConfigurationService;
    private jsonschema;
    layout$: Observable<DynamicProviderLayoutConfig>;
    allRoles$: Observable<string[]>;
    providers$: Observable<ProviderDefinition[]>;
    selectedProvider$: Observable<ProviderDefinition>;
    changeProvider$: Subject<ProviderDefinition>;
    configuration$: Observable<ProviderProperties>;
    providerInput$: BehaviorSubject<string>;
    form: FormGroup<{}>;
    model: ProviderProperties;
    fields: FormlyFieldConfig[];
    options: FormlyFormOptions;
    private reload$;
    private updatedConfiguration$;
    private layout;
    private beforeSaveHook;
    constructor(permissions: Permissions, activatedRoute: ActivatedRoute, modalService: ModalService, alertService: AlertService, providerDefinitionsService: ProviderDefinitionsService, providerConfigurationService: ProviderConfigurationService, jsonschema: C8yJSONSchema);
    ngOnInit(): void;
    saveProviderConfiguration(): Promise<void>;
    deleteProviderConfiguration(): Promise<void>;
    private removeEncryptedValues;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProviderConfigurationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ProviderConfigurationComponent, "c8y-sms-gateway", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=provider-configuration.component.d.ts.map