import { MeshLambertMaterial, CanvasTexture } from 'three';
import type { Polygon } from "./Type";
import type CustomThreeLayer from '../ThreeLayer/CustomThreeLayer';
interface Options {
    sideTopColor: string;
    sideBottomColor: string;
    sideTexture?: string;
    topColor: string;
    bottomColor: string;
    height: number;
    depthTest: boolean;
    source: Polygon;
}
interface Properties {
    height?: number;
}
declare class ThreePolygon {
    object: any;
    layer?: CustomThreeLayer;
    bottomMaterial?: MeshLambertMaterial;
    topMaterial?: MeshLambertMaterial;
    sideImgMaterial?: MeshLambertMaterial;
    canvasTexture?: CanvasTexture;
    constructor(layer: CustomThreeLayer, options: Options);
    createGlobalMaterial(options: Options): void;
    init(options: Options): void;
    createMesh(paths: number[][][], properties: Properties, options: Options): void;
    convertLngLat(lnglat: number[]): any;
    refresh(): void;
    show(): void;
    hide(): void;
    remove(): void;
    destroy(): void;
}
export default ThreePolygon;
