import { ComponentMapping as SPAComponentMapping } from '@adobe/aem-spa-component-mapping'; import { Type } from '@angular/core'; import * as i0 from "@angular/core"; /** * Indicated whether force reload is turned on, forcing the model to be refetched on every MapTo instantiation. */ export interface ReloadForceAble { cqForceReload?: boolean; } /** * MappedComponentProperties * Properties given to every component runtime by the SPA editor. */ export interface MappedComponentProperties extends ReloadForceAble { /** * Path to the model associated with the current instance of the component */ cqPath: string; /** * Angular item name */ itemName: string; } /** * EditConfiguration for a MappedComponent * @type

Type of the MappedComponent, used in isEmpty */ export interface EditConfig

{ /** * Label to display if the component is considered empty in author mode */ emptyLabel?: string; /** * Return whether the component should be considered 'empty'. * If empty, the component will not be rendered. In author mode, the empty label will be displayed. * @param props @type

Type of the MappedComponent */ isEmpty(props: P): boolean; } /** * Provides standard implementation for the MappedComponentProperties using @Input */ export declare abstract class AbstractMappedComponentDirective implements MappedComponentProperties { isInEditor: boolean; cqPath: string; itemName: string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * The current class extends the @adobe/cq-spa-component-mapping#Mapto library and features with Angular specifics such as * * - Storing the editing configurations for each resource type */ export declare class ComponentMappingWithConfig { private spaMapping; /** * Store of EditConfig structures */ private editConfigMap; constructor(spaMapping: SPAComponentMapping); /** * Stores a component class for the given resource types and also allows to provide an EditConfig object * @param resourceTypes - List of resource types * @param clazz - Component class to be stored * @param [editConfig] - Edit configuration to be stored for the given resource types * @type Model - The Model interface / class type bound to the editconfig object. */ map(resourceTypes: string | string[], clazz: Type, editConfig?: EditConfig): void; /** * Stores a component class for the given resource types and also allows to provide an EditConfig object in a Lazy Manner * @param resourceTypes - List of resource types * @param lazyClassFunction - A function that returns a promise to give back the designated type / class * @param [editConfig] - Edit configuration to be stored for the given resource types * @type Model - The Model interface / class type bound to the editconfig object. */ lazyMap(resourceTypes: any, lazyClassFunction: () => Promise>, editConfig?: EditConfig): void; /** * Returns the component class for the given resourceType * @param resourceType - Resource type for which the component class has been stored * @type Model - The Model interface / class type bound to the editconfig object. */ get(resourceType: string): Type; /** * Returns the component class Promise for the given resourceType * @param resourceType - Resource type for which the component class has been stored * @type Model - The Model interface / class type bound to the editconfig object. */ lazyGet(resourceType: string): Promise>; /** * Returns the EditConfig structure for the given type * @param resourceType - Resource type for which the configuration has been stored * @type Model - The Model interface / class type bound to the editconfig object. */ getEditConfig(resourceType: string): EditConfig; } declare const componentMapping: ComponentMappingWithConfig; /** * Stores a component class for the given resource types and also allows to provide an EditConfig object * @param resourceTypes - List of resource types * @type Model - The Model interface / class type that will be Mapped. Bound to the EditConfig configuration. */ declare function MapTo(resourceTypes: string | string[]): (clazz: Type, editConfig?: EditConfig) => void; /** * Stores a clazz the lazy way for dynamic imports / code splitting.function that returns a promise * @param resourceTypes - List of resource types * @type Model - The Model interface / class type that will be Mapped. Bound to the EditConfig configuration. */ declare function LazyMapTo(resourceTypes: string | string[]): (lazyClassFunction: () => Promise>, editConfig?: EditConfig) => void; export { componentMapping as ComponentMapping, MapTo, LazyMapTo };