import type { Layer } from '@deck.gl/core'; import type { RenderableGroup } from './RenderableGroup'; import type { LayerModel } from './LayerModel'; export type SyncMode = 'force-model' | 'respect-deck'; type LayerOverrides = Partial & { opacity?: number; visible?: boolean; zIndex?: number; data?: unknown; url?: string; }; export declare class LayerGroupWithModel implements RenderableGroup { readonly id: string; private _visible; private _syncMode; private _models; private _instances; private _recreateOnNextEmit; private _overrides; private _dirty; private _cachedLayers; private _basemap; constructor(opts: { id: string; visible?: boolean; syncMode?: SyncMode; models?: ReadonlyArray>; basemap?: string | null; }); get visible(): boolean; set visible(v: boolean); get syncMode(): SyncMode; set syncMode(m: SyncMode); set basemap(b: string | null); get basemap(): string | null; isDirty(): boolean; addModel(model: LayerModel): void; addModels(models: ReadonlyArray>): void; getModel(id: string): { id: string; elementId: string; enabled: boolean; make: () => L; meta?: Record; }; removeModel(id: string): void; clear(): void; setModelEnabled(id: string, enabled: boolean): void; replaceModel(model: LayerModel): void; setModelOverrides(id: string, overrides: LayerOverrides): void; clearModelOverrides(id: string): void; getLayers(): readonly L[]; destroy(): void; } export {};