import { InjectionToken } from '@angular/core';
import { InputStringComponent } from '../modules/propertyTypeControls/components/inputString/inputString.component';
import { InputBooleanComponent } from '../modules/propertyTypeControls/components/inputBoolean/inputBoolean.component';
import { SelectValueComponent } from '../modules/propertyTypeControls/components/selectValue/selectValue.component';
import { TextareaComponent } from '../modules/propertyTypeControls/components/textarea/textarea.component';
import { InputNumberComponent } from '../modules/propertyTypeControls/components/inputNumber/inputNumber.component';
/**
 * Injection token containing symbols to properties storing layout editor property metadata
 */
export const LAYOUT_EDITOR_PROPERTY_METADATA_PROPERTIES = new InjectionToken('LAYOUT_EDITOR_PROPERTY_METADATA_PROPERTIES');
/**
 * Injection token containing available property type controls
 */
export const LAYOUT_EDITOR_PROPERTY_TYPE_CONTROLS = new InjectionToken('LAYOUT_EDITOR_PROPERTY_TYPE_CONTROLS', {
    providedIn: 'root',
    factory: () => {
        return {
            'inputString': InputStringComponent,
            'inputBoolean': InputBooleanComponent,
            'selectValue': SelectValueComponent,
            'textarea': TextareaComponent,
            'inputNumber': InputNumberComponent,
        };
    }
});
/**
 * Injection token for layout module types data extractors
 */
export const LAYOUT_MODULE_TYPES_DATA_EXTRACTORS = new InjectionToken('LAYOUT_MODULE_TYPES_DATA_EXTRACTORS');
/**
 * Injection token for layout module types providers
 */
export const LAYOUT_MODULE_TYPES_PROVIDERS = new InjectionToken('LAYOUT_MODULE_TYPES_PROVIDERS');
/**
 * Injection token for layout module types loader
 */
export const LAYOUT_MODULE_TYPES_LOADER = new InjectionToken('LAYOUT_MODULE_TYPES_LOADER');
/**
 * Injection token for layout history manager
 */
export const LAYOUT_HISTORY_MANAGER = new InjectionToken('LAYOUT_HISTORY_MANAGER');
/**
 * Injection token for observables that allows refreshing of components palatte items
 */
export const REFRESH_PALETTE_OBSERVABLES = new InjectionToken('REFRESH_PALETTE_OBSERVABLES');
/**
 * Injection token for layout defaults override
 */
export const LAYOUT_DEFAULTS_OVERRIDE = new InjectionToken('LAYOUT_DEFAULTS_OVERRIDE');
//# sourceMappingURL=tokens.js.map