import BaseLayer from './baselayer.js'; import ILayerWithTime from './ilayerwithtime.js'; import ITimeOptions from '../../tools/time/itimeoptions.js'; export type GroupLayerOptions = { isDefaultChecked?: boolean; disclaimer?: string; metadataUrl?: string; isDefaultExpanded?: boolean; isExclusiveGroup?: boolean; isMixed?: boolean; time?: ITimeOptions; timeAttribute?: string; }; declare class GroupLayer extends BaseLayer implements ILayerWithTime { /** * This class is a used in the state of the application, which will be accessed behind a javascript proxy. * This means that each modification made to its properties must come from outside, * because they have to be made through the proxy, so that the modification can be listen. * Therefore, this class must not contain any method which is updating a value directly * For example, any method doing is forbidden here, because the modification be known from the proxy */ isExclusiveGroup: boolean; isExpanded: boolean; _isMixed?: boolean; activeState: 'on' | 'off' | 'semi'; timeOptions?: ITimeOptions; timeAttribute?: string; timeRestriction?: string; children: BaseLayer[]; constructor(id: number, name: string, order: number, options?: GroupLayerOptions); clone(): GroupLayer; get active(): boolean; get inactive(): boolean; get semiActive(): boolean; get hasTimeRestriction(): boolean; get hasGrandChildren(): boolean; setDefaultTimeRestriction(): void; /** * Checks if all the children are LayerWms with the same ogcServer, opacity * time */ get isMixed(): boolean; } export default GroupLayer;