import { GeometryType, Surface, GeometryCollection } from "./internal"; /** * A restricted form of GeometryCollection where each Geometry in the collection * must be of type Surface. * * @param surface type */ export declare abstract class MultiSurface extends GeometryCollection { /** * Constructor * * @param type geometry type * @param hasZ has z * @param hasM has m */ protected constructor(type: GeometryType, hasZ: boolean, hasM: boolean); /** * Get the surfaces * @return surfaces */ getSurfaces(): Array; /** * Set the surfaces * @param surfaces surfaces */ setSurfaces(surfaces: Array): void; /** * Add a surface * @param surface surface */ addSurface(surface: T): void; /** * Add surfaces * * @param surfaces * surfaces */ addSurfaces(surfaces: Array): void; /** * Get the number of surfaces * @return number of surfaces */ numSurfaces(): number; /** * Returns the Nth surface * @param n nth line surface to return * @return surface */ getSurface(n: number): T; }