import { getResizableOptions, SurfaceSelection } from '@devexpress/analytics-core/analytics-internal'; import { Disposable } from '@devexpress/analytics-core/analytics-utils'; import * as ko from 'knockout'; import { XRControlViewModel } from '../controls/xrControl'; import { ReportViewModel } from '../controls/xrReport'; import { ControlScrollingTool } from '../internal/_controlScrollingTool'; import { TranslateHelper } from '../internal/_translateHelper'; export interface ILocalizationItem { component: XRControlViewModel; defaultText: ko.Observable | ko.Computed; localizedText: ko.Observable; isDefaultLanguage: () => boolean; visible: () => boolean; dispose: () => void; displayName: string; multiline?: ko.Observable | ko.Computed; } export interface ILocalizationEditorOptions { controlScrollingTool: ControlScrollingTool; selection: SurfaceSelection; report: () => ReportViewModel; } export declare class LocalizationEditor extends Disposable { private _options; private _allowedPropertyNames; private _selectionDisabled; private _autoScrollingSubscription; private _uncollapseParent; private _subscribeFocused; private _getDefaultLanguageItems; dispose(): void; private _isLocalizableControl; private _shouldLocalizeReportControl; private _isLocalizableType; private _createLocalizationItem; private _updateLocalizationItems; applyLocalization(serviceName: string): void; clearLocalization(): void; getRegisteredService(): { applyLocalization: () => void; isDisabled: () => boolean; iconClass: string; icon: string; }; hasRegisteredService(): boolean; isDefaultLanguage(): boolean; constructor(_options: ILocalizationEditorOptions); start(): void; finish(): void; onSelectionChanged(e: { addedItems: ILocalizationItem[]; }): void; onItemGotFocus(e: { model: ILocalizationItem; }): void; switchSearchBox(): void; getLoadPanelOptions(element: any): { visible: ko.Observable; shading: boolean; position: { of: HTMLElement; }; container: HTMLElement; message: string; shadingColor: string; }; defaultLanguageText: () => string; currentLanguageText: () => string; propertiesHeaderText: () => string; localizationItems: ko.ObservableArray; textToSearch: ko.Observable; language: ko.Observable; searchPlaceholder: () => string; searchBox: ko.Observable; availableCultures: any; isSearching: ko.Observable; getResizableOptions: typeof getResizableOptions; translateHelper: TranslateHelper; isVisible: ko.Observable; width: ko.Observable; showLoadIndicator: ko.Observable; getLoadPanelPosition: (element: HTMLElement) => HTMLElement; }