import { Color } from '@ngageoint/color-js'; import { BaseGrid } from './BaseGrid'; import { BaseZoomGrids } from './BaseZoomGrids'; import { GridStyle } from './GridStyle'; import { Labeler } from './Labeler'; import { GridProperties } from './property/GridProperties'; /** * Grids * * @param * grid type * @param * zoom grids type */ export declare abstract class BaseGrids> { /** * Grid properties */ protected readonly properties: GridProperties; /** * Map between zoom levels and grids */ private zoomGrids; /** * Constructor * * @param properties * grid properties */ constructor(properties: GridProperties); /** * Get the default grid line width * * @return width */ abstract getDefaultWidth(): number; /** * Get the grids * * @return grids */ abstract grids(): TGrid[]; /** * Create a new zoom grids * * @param zoom * zoom level * @return zoom grids */ protected abstract newZoomGrids(zoom: number): TZoomGrids; /** * Load the grid * * @param grid * name * @param gridKey * grid name key * @param enabled * enable created grids * @param labeler * grid labeler */ protected loadGrid(grid: TGrid, gridKey: string, labeler: Labeler, enabled?: boolean): void; /** * Load the labeler * * @param labeler * labeler * @param gridKey * grid name key */ private loadLabeler; /** * Load the grid style color * * @param gridKey * grid name key * @param gridKey2 * second grid name key * @return color */ protected loadGridStyleColor(gridKey: string, gridKey2: string): Color | undefined; /** * Load the grid style width * * @param gridKey * grid name key * @param gridKey2 * second grid name key * @return width */ protected loadGridStyleWidth(gridKey: string, gridKey2: string): number | undefined; /** * Get a combined grid style from the provided color, width, and grid * * @param grid * grid * @param color * color * @param width * width * @return grid style */ protected getGridStyle(grid: TGrid, color?: Color, width?: number): GridStyle; /** * Create the zoom level grids */ protected createZoomGrids(): void; /** * Get the grids for the zoom level * * @param zoom * zoom level * @return grids */ getGrids(zoom: number): TZoomGrids | undefined; /** * Create grids for the zoom level * * @param zoom * zoom level * @return grids */ private createZoomGridsFromZoom; /** * Enable grids * * @param grids * grids */ enableGrids(grids: TGrid[]): void; /** * Disable grids * * @param grids * grids */ disableGrids(grids: TGrid[]): void; /** * Enable the grid * * @param grid * grid */ enable(grid: TGrid): void; /** * Disable the grid * * @param grid * grid */ disable(grid: TGrid): void; /** * Set the grid minimum zoom * * @param grid * grid * @param minZoom * minimum zoom */ setMinZoom(grid: TGrid, minZoom: number): void; /** * Set the grid maximum zoom * * @param grid * grid * @param maxZoom * maximum zoom */ setMaxZoom(grid: TGrid, maxZoom?: number): void; /** * Set the grid zoom range * * @param grid * grid * @param minZoom * minimum zoom * @param maxZoom * maximum zoom */ setZoomRange(grid: TGrid, minZoom: number, maxZoom?: number): void; /** * Add a grid to the zoom level * * @param grid * grid * @param zoom * zoom level */ private addGrid; /** * Remove a grid from the zoom level * * @param grid * grid * @param zoom * zoom level */ private removeGrid; /** * Enable all grid labelers */ enableAllLabelers(): void; /** * Set all label grid edge buffers * * @param buffer * label buffer (greater than or equal to 0.0 and less than 0.5) */ setAllLabelBuffers(buffer: number): void; } //# sourceMappingURL=BaseGrids.d.ts.map