import * as i0 from '@angular/core'; import { OnChanges, OnDestroy, OnInit, SimpleChanges, Type, TemplateRef, PipeTransform, AfterContentChecked, AfterContentInit, StateKey, EventEmitter } from '@angular/core'; import { Component, Page, Container, ContainerItem, MetaCollection, ManageContentButton, Menu, Configuration, PageModel } from '@bloomreach/spa-sdk'; import * as rxjs from 'rxjs'; import { BehaviorSubject } from 'rxjs'; import { HttpErrorResponse } from '@angular/common/http'; import * as i15 from '@angular/common'; /** * The template context holding the current brXM Component. */ interface BrComponentContext { /** * The implicit value of the context is pointing to the current component. */ $implicit?: Component; /** * The current component. */ component?: Component; /** * The current page. */ page?: Page; } /** * The brXM component. */ declare class BrComponentDirective implements OnChanges, OnDestroy, OnInit { private container; private template; private node; private page; /** * The component instance or a path to a component. * The path is defined as a slash-separated components name chain * relative to the current component (e.g. `main/container`). * If it is omitted, all the children will be rendered. */ component?: Component | string; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; ngOnInit(): void; private get context(); private get components(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BrContainerBoxComponent { component: Container; page: Page; get isPreview(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class BrContainerInlineComponent { component: Container; page: Page; get isPreview(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class BrContainerOrderedListComponent { component: Container; page: Page; get isPreview(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class BrContainerUnorderedListComponent { component: Container; page: Page; get isPreview(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class BrContainerItemUndefinedComponent { component: ContainerItem; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare abstract class BrMetaDirective implements OnChanges, OnDestroy { protected meta?: MetaCollection | undefined; private clear?; private container; private template; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; private render; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * The button directive that opens for editing a content. */ declare class BrManageContentButtonDirective extends BrMetaDirective implements OnChanges, ManageContentButton { private page; content?: ManageContentButton['content']; documentTemplateQuery?: ManageContentButton['documentTemplateQuery']; folderTemplateQuery?: ManageContentButton['folderTemplateQuery']; path?: ManageContentButton['path']; parameter?: ManageContentButton['parameter']; pickerConfiguration?: ManageContentButton['pickerConfiguration']; pickerEnableUpload?: ManageContentButton['pickerEnableUpload']; pickerInitialPath?: ManageContentButton['pickerInitialPath']; pickerRemembersLastVisited?: ManageContentButton['pickerRemembersLastVisited']; pickerRootPath?: ManageContentButton['pickerRootPath']; pickerSelectableNodeTypes?: ManageContentButton['pickerSelectableNodeTypes']; relative?: ManageContentButton['relative']; root?: ManageContentButton['root']; ngOnChanges(changes: SimpleChanges): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * The button directive that opens a menu editor. */ declare class BrManageMenuButtonDirective extends BrMetaDirective implements OnChanges { private page; /** * The related menu model. */ menu: Menu; ngOnChanges(changes: SimpleChanges): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * The mapped component properties. */ interface BrProps { /** * The mapped component. */ component?: T; /** * The current page. */ page?: Page; } interface BrNodeContext extends BrComponentContext { template?: TemplateRef | null; } declare class BrPageService { private _mapping; private _node; private readonly state$; constructor(); get mapping(): Record>; set mapping(mapping: Record>); get node(): TemplateRef; set node(node: TemplateRef); get state(): BehaviorSubject; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class BrNodeComponentDirective implements OnChanges, OnDestroy { private container; private injector; private node; protected page: BrPageService; component?: Component; private clear?; ngOnChanges(changes: SimpleChanges): void; protected getMapping(): Type | undefined; private render; private renderTemplate; private renderChildren; private renderMapping; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BrNodeContainerDirective extends BrNodeComponentDirective { component?: Container; protected getMapping(): Type | undefined; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BrNodeContainerItemDirective extends BrNodeComponentDirective implements OnChanges, OnDestroy { private changeDetectorRef; constructor(); component?: ContainerItem; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; private onUpdate; protected getMapping(): Type | undefined; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BrNodeDirective { component: Component; template?: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BrNodeTypePipe implements PipeTransform { transform(component: Component): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } /** * The brXM page. */ declare class BrPageComponent implements AfterContentChecked, AfterContentInit, OnChanges, OnDestroy { private httpClient; private pageService; private platform; private transferState; /** * The configuration of the SPA SDK. * @see https://www.npmjs.com/package/@bloomreach/spa-sdk#configuration */ configuration: Omit; /** * The brXM and Angular components mapping. */ mapping: Record>; /** * The pre-initialized page instance or prefetched page model. * Mostly this property should be used to transfer state from the server-side to the client-side. */ page?: Page | PageModel; /** * The TransferState key is used to transfer the state from the server-side to the client-side. * By default, it equals to `brPage`. * If `false` is passed then the state transferring feature will be disabled. */ stateKey: StateKey | false; /** * The current state of the page component. */ state: rxjs.BehaviorSubject; /** * Http error handling */ httpError: EventEmitter; node: TemplateRef; private template?; private afterContentChecked$; constructor(); get context(): BrNodeContext; ngOnChanges(changes: SimpleChanges): void; ngAfterContentChecked(): void; ngAfterContentInit(): void; ngOnDestroy(): void; private initialize; private request; isPlatformBrowser(platform: object): boolean; isPlatformServer(platform: object): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class BrSdkModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { BrComponentDirective, BrManageContentButtonDirective, BrManageMenuButtonDirective, BrPageComponent, BrPageService, BrSdkModule }; export type { BrComponentContext, BrNodeContext, BrProps };