import { AtomController } from '../common/atom-controller';
import { ResultType } from '../common/data-type';
type layTypes = 'Terrain' | 'Building' | 'Road' | 'Tree' | 'Water' | 'District' | 'Buildinginstance' | 'Roadinstance' | 'Districtinstance';
/**
 * @public
 * @class TilesController
 * @extends AtomController
 */
declare class EarthTilesController extends AtomController {
    private apiClassName;
    private TilesValidate;
    /**
     * @constructor
     * @param {any} obj
     */
    constructor(obj: any);
    /**
       * @public
       * @async
       * @function ActivateAesTiles
       * @param {Record<string, any>} tiles (optional)
       * @returns {Promise<ResultType>}
       */
    ActivateAesTiles(tiles?: Record<string, any>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function DeactivateAesTiles
     * @param {Record<string, any>} tiles
     * @returns {Promise<ResultType>}
     */
    DeactivateAesTiles(tiles?: Record<string, any>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function IsActivated
     * @param {Record<string, any>} tiles
     * @returns {Promise<ResultType>}
     */
    IsActivated(tiles?: Record<string, any>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetLayersOutline
     * @param {{tiles?: Record<string, any>, layers?: Array<layTypes>, bOutline?: boolean, styleName?: string}} opt
     * @returns {Promise<ResultType>}
     */
    SetLayersOutline(opt: {
        tiles?: Record<string, any>;
        layers?: Array<layTypes>;
        bOutline?: boolean;
        styleName?: string;
    }): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetLayersHighlight
     * @param {{tiles?: Record<string, any>, layers?: Array<layTypes>, bHighlight?: boolean, styleName?: string}} opt
     * @returns {Promise<ResultType>}
     */
    SetLayersHighlight(opt: {
        tiles?: Record<string, any>;
        layers?: Array<layTypes>;
        bHighlight?: boolean;
        styleName?: string;
    }): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetLayersVisibility
     * @param {{tiles?: Record<string, any>, layers?: Array<layTypes>, bVisible?: boolean}} opt
     * @returns {Promise<ResultType>}
     */
    SetLayersVisibility(opt: {
        tiles?: Record<string, any>;
        layers?: Array<layTypes>;
        bVisible?: boolean;
    }): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetLayers
     * @param {Record<string, any>} tiles (optional)
     * @returns {Promise<ResultType>}
     */
    GetLayers(tiles?: Record<string, any>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function CreateAesTilesEntityWithOutGRPC
     * @param {string} uri
     * @returns {Promise<ResultType>}
     */
    CreateAesTilesEntityWithOutGRPC(uri: string): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetTiles
     * @returns {Promise<Array<T>>}
     */
    GetTiles<T>(): Promise<Array<T>>;
}
export default EarthTilesController;
