import { ChangeDetectorRef, DoCheck, OnChanges, OnDestroy, SimpleChanges } from "@angular/core";
import { Subject } from "rxjs";
import { LoggerService } from "@nova-ui/bits";
import { PizzagnaService } from "../../pizzagna/services/pizzagna.service";
import { IComponentConfiguration, IHasChangeDetector } from "../../types";
export declare abstract class BaseLayout implements IHasChangeDetector, OnChanges, DoCheck, OnDestroy {
    changeDetector: ChangeDetectorRef;
    protected pizzagnaService: PizzagnaService;
    protected logger: LoggerService;
    nodeComponentsConfigs: IComponentConfiguration[];
    nodeConfigs: IComponentConfiguration[];
    protected destroyed$: Subject<void>;
    template: Partial<IComponentConfiguration>;
    constructor(changeDetector: ChangeDetectorRef, pizzagnaService: PizzagnaService, logger: LoggerService);
    abstract getNodes(): string[];
    ngOnChanges(changes: SimpleChanges): void;
    ngDoCheck(): void;
    ngOnDestroy(): void;
    trackByFn(index: number, node: IComponentConfiguration): string;
    private checkNodeConfigs;
    private updateNodeComponentConfigs;
    private updateNodeConfigs;
    private getNodeComponentsConfigs;
    private getTemplateChangeForNodes;
}
