import { Injector } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { FormModelBuilder } from '@anglr/common/forms';
import { PropertiesControl, PropertiesControlBase } from '@anglr/dynamic/layout-editor';
import { LayoutComponentMetadata } from '@anglr/dynamic/layout';
import { Dictionary } from '@jscrpt/common';
import { CustomComponentComponentOptions } from '../../../customComponent.options';
import { ContentComponentData } from '../../../../../components';
import { CustomComponentConfiguration, CustomComponentsRegister } from '../../../../../services';
import * as i0 from "@angular/core";
/**
 * Component used for displaying editation of content options
 */
export declare class ContentOptionsPropertiesControlSAComponent<TConfig extends CustomComponentConfiguration = CustomComponentConfiguration> extends PropertiesControlBase<CustomComponentComponentOptions> implements PropertiesControl<CustomComponentComponentOptions> {
    /**
     * Instance of injector for this component
     */
    protected injector: Injector;
    /**
     * Form model builder
     */
    protected formModelBuilder: FormModelBuilder;
    /**
     * Instance of custom components register
     */
    protected customComponentsRegister: CustomComponentsRegister<TConfig>;
    /**
     * Metadata for each component in custom component
     */
    protected customComponentContentMetadata: Dictionary<ContentComponentData | undefined | null>;
    /**
     * Custom component layout metadata
     */
    protected customComponentMetadata: LayoutComponentMetadata | undefined | null;
    /**
     * Represents used properties
     */
    protected usedProperties: Dictionary<Dictionary<string[]>>;
    /**
     * Stores components and their form groups
     */
    protected usedComponentsForms: Dictionary<Dictionary<FormGroup>>;
    /**
     * @inheritdoc
     */
    protected _initialize(): Promise<void>;
    /**
     * Initialize forms for properties
     */
    protected initForms(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ContentOptionsPropertiesControlSAComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ContentOptionsPropertiesControlSAComponent<any>, "content-options", never, {}, {}, never, never, true, never>;
}
//# sourceMappingURL=contentOptionsPropertiesControl.component.d.ts.map