import { AfterViewChecked, ChangeDetectorRef, OnDestroy, OnInit, type Signal } from '@angular/core';
import { Store } from '@ngrx/store';
import { BehaviorSubject } from 'rxjs';
import { type PlaceholderMode, PlaceholderTemplateStore } from '../../stores/placeholder-template';
import * as i0 from "@angular/core";
/**
 * Placeholder component that is bind to the PlaceholderTemplateStore to display a template based on its ID
 * A loading indication can be provided via projection
 * @example
 *  <o3r-placeholder id="my-template-id">Is loading ...</o3r-placeholder>
 */
export declare class PlaceholderComponent implements OnInit, OnDestroy, AfterViewChecked {
    private readonly store;
    private readonly cd;
    readonly id$: BehaviorSubject<string | undefined>;
    private readonly afterViewInit$;
    private readonly messages$;
    /** Determine if the placeholder content is pending */
    isPending?: boolean;
    /** Generated HTML template */
    template?: string;
    mode: Signal<PlaceholderMode>;
    private readonly destroyRef;
    /** template identify */
    set id(value: string);
    constructor(store: Store<PlaceholderTemplateStore>, cd: ChangeDetectorRef);
    /** @inheritdoc */
    ngOnInit(): void;
    ngAfterViewChecked(): void;
    /** @inheritdoc */
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PlaceholderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PlaceholderComponent, "o3r-placeholder", never, { "id": { "alias": "id"; "required": false; }; }, {}, never, ["*"], false, never>;
}
//# sourceMappingURL=placeholder.component.d.ts.map