import { PromiseOr } from '@jscrpt/common';
import { CustomComponentConfiguration } from './customComponentsRegister.interface';
import * as i0 from "@angular/core";
/**
 * Register that contains registered custom components
 */
export declare class CustomComponentsRegister<TConfig extends CustomComponentConfiguration = CustomComponentConfiguration> {
    /**
     * Gets array of registered custom components names
     */
    getRegisteredComponents(): PromiseOr<string[]>;
    /**
     * Gets configuration for custom component by its name
     * @param _name - Name of template of custom component for which configuration will be returned
     */
    getConfigurationForComponent(_name: string): TConfig | undefined | null;
    /**
     * Sets configuration for custom component by its name
     * @param _name - Name of template of custom component for which configuration will be set
     * @param _config - Value of configuration to be set
     */
    setConfigurationForComponent(_name: string, _config: TConfig): PromiseOr<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<CustomComponentsRegister<any>, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CustomComponentsRegister<any>>;
}
//# sourceMappingURL=customComponentsRegister.service.d.ts.map