/// <reference types="node" />
import { ConfigImagery, ConfigTileSetRaster, TileSetNameComponents, TileSetType } from '@basemaps/config';
import { Bounds, ImageFormat, Tile, TileMatrixSet } from '@basemaps/geo';
import { LogType, TileDataXyz } from '@basemaps/shared';
import { Tiler } from '@basemaps/tiler';
import { TileMakerSharp } from '@basemaps/tiler-sharp';
import { CogTiff } from '@cogeotiff/core';
import { LambdaHttpRequest, LambdaHttpResponse } from '@linzjs/lambda';
import { Metrics } from '@linzjs/metrics';
export declare const TileComposer: TileMakerSharp;
export interface TileSetResponse {
    buffer: Buffer;
    metrics: Metrics;
    layersUsed: number;
    layersTotal: number;
    contentType: string;
}
export declare function getTiffName(name: string): string;
export declare class TileSetRaster {
    type: TileSetType.Raster;
    tileMatrix: TileMatrixSet;
    tiler: Tiler;
    imagery: Map<string, ConfigImagery>;
    extentOverride: Bounds;
    components: TileSetNameComponents;
    tileSet: ConfigTileSetRaster;
    constructor(name: string, tileMatrix: TileMatrixSet);
    get id(): string;
    get fullName(): string;
    get title(): string;
    get description(): string;
    get extent(): Bounds;
    /** Preferred default imagery format */
    get format(): ImageFormat;
    init(record: ConfigTileSetRaster): Promise<void>;
    initTiffs(tile: Tile, log: LogType): Promise<CogTiff[]>;
    tile(req: LambdaHttpRequest, xyz: TileDataXyz): Promise<LambdaHttpResponse>;
    /**
     * Get a list of tiffs in the rendering order that is needed to render the tile
     * @param tms tile matrix set to describe the tiling scheme
     * @param tile tile to render
     */
    getTiffsForTile(tile: Tile, log?: LogType): CogTiff[];
    private getCogsForTile;
    /** Look up imagery by imageryId or by image name */
    findImagery(imgId: string): ConfigImagery | null;
    child(imgId: string): TileSetRaster | null;
}
//# sourceMappingURL=tile.set.raster.d.ts.map