import { Control, Tenants } from "../../../models";
import { ConfigurationService } from "./ConfigurationService";
import { LocalizationService } from "./LocalizationService";
import { ControlSettingsService } from "./ControlSettingsService";
import { ElementRef } from '@angular/core';
export declare class ControlConfigService {
    localizationService: LocalizationService;
    configurationService: ConfigurationService;
    controlSettingsService: ControlSettingsService;
    constructor(localizationService: LocalizationService, configurationService: ConfigurationService, controlSettingsService: ControlSettingsService);
    getControlContainer: (element: ElementRef) => JQuery;
    getControlContainerId: (element: ElementRef) => string;
    getConfig: <T>(containerId: string) => T;
    setConfig: <T extends Control.IControlConfig>(containerId: string, config: T, callback: () => void, permissionRole?: string, extensionPackageId?: string) => void;
    getControlAvailableViews: (svcId: string, callback: (n: Tenants.ITenantResource[]) => void) => void;
    getTemplateView: (viewId: string, callback: (n: string) => void) => void;
    initControlConfigScope: (scope: Control.IControlScope, element: ElementRef, settingsFormController: string, settingsFormView: string, defaultSettings: any, canEditSettings: () => boolean, onSettingsChanged: () => void, settingComponent?: any, settingModule?: any) => void;
}
