import BaseLayer from './baselayer.js'; import GroupLayer from './grouplayer.js'; import ThemeLayer from './themelayer.js'; type LayerOptions = { isDefaultChecked?: boolean; disclaimer?: string; metadataUrl?: string; opacity?: number; restricted?: boolean; }; declare abstract class Layer extends BaseLayer { /** * 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 */ activeState: 'on' | 'off'; opacity: number; restricted: boolean; swiped: 'left' | 'right' | 'no'; isLegendExpanded: boolean; parent: ThemeLayer | GroupLayer; constructor(id: number, name: string, order: number, options?: LayerOptions); get isTransparent(): boolean; get hasValidOpacity(): boolean; get active(): boolean; get inactive(): boolean; } export default Layer;