import { DynamicItemLoader } from '@anglr/dynamic';
import { LayoutComponentDef, LayoutComponentMetadata } from '@anglr/dynamic/layout';
import { Logger } from '@anglr/common';
import { LayoutComponentsIterator } from './layoutComponents.iterator';
import { LayoutComponentsChildrenIterator } from './layoutComponentsChildren.iterator';
import * as i0 from "@angular/core";
/**
 * Service used for creating LayoutComponentsIterator
 */
export declare class LayoutComponentsIteratorService {
    protected loader: DynamicItemLoader<LayoutComponentDef>;
    protected logger?: Logger | undefined;
    constructor(loader: DynamicItemLoader<LayoutComponentDef>, logger?: Logger | undefined);
    /**
     * Gets iterator for specified layout metadata
     * @param layoutMetadata - Metadata for which will be iterator created
     */
    getIteratorFor(layoutMetadata: LayoutComponentMetadata): LayoutComponentsIterator;
    /**
     * Gets children iterator for specified layout metadata
     * @param layoutMetadata - Metadata for which will be children iterator created
     */
    getChildrenIteratorFor(layoutMetadata: LayoutComponentMetadata): LayoutComponentsChildrenIterator;
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutComponentsIteratorService, [null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LayoutComponentsIteratorService>;
}
//# sourceMappingURL=layoutComponentsIterator.service.d.ts.map