import { EventsKey } from '../events'; import BaseEvent from '../events/Event'; import { ObjectEvent } from '../Object'; import { Size } from '../size'; import { LoadFunction } from '../Tile'; import { AttributionLike } from './Source'; import { TileSourceEvent } from './Tile'; import TileImage from './TileImage'; export interface Config { name?: string | undefined; description?: string | undefined; version?: string | undefined; attribution?: string | undefined; template?: string | undefined; legend?: string | undefined; scheme?: string | undefined; tiles: string[]; grids?: string[] | undefined; minzoom?: number | undefined; maxzoom?: number | undefined; bounds?: number[] | undefined; center?: number[] | undefined; } export interface Options { attributions?: AttributionLike | undefined; cacheSize?: number | undefined; crossOrigin?: null | string | undefined; imageSmoothing?: boolean | undefined; jsonp?: boolean | undefined; reprojectionErrorThreshold?: number | undefined; tileJSON?: Config | undefined; tileLoadFunction?: LoadFunction | undefined; tileSize?: number | Size | undefined; url?: string | undefined; wrapX?: boolean | undefined; transition?: number | undefined; } export default class TileJSON extends TileImage { constructor(options: Options); protected handleTileJSONError(): void; protected handleTileJSONResponse(tileJSON: Config): void; getTileJSON(): Config; on(type: string | string[], listener: (p0: any) => any): EventsKey | EventsKey[]; once(type: string | string[], listener: (p0: any) => any): EventsKey | EventsKey[]; un(type: string | string[], listener: (p0: any) => any): void; on(type: 'change', listener: (evt: BaseEvent) => void): EventsKey; once(type: 'change', listener: (evt: BaseEvent) => void): EventsKey; un(type: 'change', listener: (evt: BaseEvent) => void): void; on(type: 'error', listener: (evt: BaseEvent) => void): EventsKey; once(type: 'error', listener: (evt: BaseEvent) => void): EventsKey; un(type: 'error', listener: (evt: BaseEvent) => void): void; on(type: 'propertychange', listener: (evt: ObjectEvent) => void): EventsKey; once(type: 'propertychange', listener: (evt: ObjectEvent) => void): EventsKey; un(type: 'propertychange', listener: (evt: ObjectEvent) => void): void; on(type: 'tileloadend', listener: (evt: TileSourceEvent) => void): EventsKey; once(type: 'tileloadend', listener: (evt: TileSourceEvent) => void): EventsKey; un(type: 'tileloadend', listener: (evt: TileSourceEvent) => void): void; on(type: 'tileloaderror', listener: (evt: TileSourceEvent) => void): EventsKey; once(type: 'tileloaderror', listener: (evt: TileSourceEvent) => void): EventsKey; un(type: 'tileloaderror', listener: (evt: TileSourceEvent) => void): void; on(type: 'tileloadstart', listener: (evt: TileSourceEvent) => void): EventsKey; once(type: 'tileloadstart', listener: (evt: TileSourceEvent) => void): EventsKey; un(type: 'tileloadstart', listener: (evt: TileSourceEvent) => void): void; }