import { InjectionToken, Type } from '@angular/core';
import { DefaultsOverride, DynamicItemLoader, DynamicModuleDataExtractor, DynamicModuleProvider, MetadataHistoryManager } from '@anglr/dynamic';
import { LayoutComponentMetadata } from '@anglr/dynamic/layout';
import { Dictionary } from '@jscrpt/common';
import { Observable } from 'rxjs';
import { PropertyTypeControl } from '../interfaces';
import { LayoutModuleTypes } from '../components/componentsPalette/componentsPalette.interface';
/**
 * Injection token containing symbols to properties storing layout editor property metadata
 */
export declare const LAYOUT_EDITOR_PROPERTY_METADATA_PROPERTIES: InjectionToken<symbol[]>;
/**
 * Injection token containing available property type controls
 */
export declare const LAYOUT_EDITOR_PROPERTY_TYPE_CONTROLS: InjectionToken<Dictionary<Type<PropertyTypeControl>>>;
/**
 * Injection token for layout module types data extractors
 */
export declare const LAYOUT_MODULE_TYPES_DATA_EXTRACTORS: InjectionToken<DynamicModuleDataExtractor[]>;
/**
 * Injection token for layout module types providers
 */
export declare const LAYOUT_MODULE_TYPES_PROVIDERS: InjectionToken<DynamicModuleProvider[]>;
/**
 * Injection token for layout module types loader
 */
export declare const LAYOUT_MODULE_TYPES_LOADER: InjectionToken<DynamicItemLoader<LayoutModuleTypes>>;
/**
 * Injection token for layout history manager
 */
export declare const LAYOUT_HISTORY_MANAGER: InjectionToken<MetadataHistoryManager<LayoutComponentMetadata>>;
/**
 * Injection token for observables that allows refreshing of components palatte items
 */
export declare const REFRESH_PALETTE_OBSERVABLES: InjectionToken<Observable<void>[]>;
/**
 * Injection token for layout defaults override
 */
export declare const LAYOUT_DEFAULTS_OVERRIDE: InjectionToken<DefaultsOverride>;
//# sourceMappingURL=tokens.d.ts.map