import { InternalConstructorTag } from "../../utils/InternalConstructorTag"; import { GroupLayer } from "../GroupLayer"; import { ChildrenCollection } from "../shared/ChildrenCollection"; import { GET_PARENT, GET_RAW_LAYERS } from "../shared/internals"; import { LayerRetrievalOptions, RecursiveRetrievalOptions } from "../shared/LayerRetrievalOptions"; import { AnyLayer, Layer } from "../unions"; /** * Contains {@link Layer} instances that belong to a {@link GroupLayer} * * @group Layer Utilities */ export declare class GroupLayerCollection implements ChildrenCollection { #private; /** @internal */ constructor(layers: Layer[], parent: GroupLayer, tag: InternalConstructorTag); /** * Destroys this collection, all contained layers are detached from their parent group layer */ destroy(): void; getItems(options?: LayerRetrievalOptions): Layer[]; /** * Returns all layers in this collection */ getLayers(options?: LayerRetrievalOptions | undefined): Layer[]; /** * Returns a list of all layers in the collection, including all children (recursively). * * > Note: This includes base layers by default (see `options.filter`). * > Use the `"base"` or `"operational"` short hand values to filter by base layer or operational layers. * > * > If the group contains many, deeply nested sub groups, this function could potentially be expensive. */ getRecursiveLayers(options?: RecursiveRetrievalOptions): AnyLayer[]; /** * Returns a reference to the internal group layer array. * * NOTE: Do not modify directly! * * @internal */ [GET_RAW_LAYERS](): Layer[]; /** * Returns the parent group layer that owns this collection. * * @internal */ [GET_PARENT](): GroupLayer; }