@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
34 lines • 1.96 kB
TypeScript
import { type GeoJsonPolygon, GeometryPolygonBase as Base, type GeometryPolygonSource as GeometryPolygonSourceBase, type GeometryPolygonTypes as GeometryPolygonTypesBase } from "@tai-kun/surrealdb/encodable-datatypes";
import { type Coord } from "../_internals/geometry";
import { GeometryLine, type GeometryLineBase, type GeometryLineTypes } from "./geometry-line";
import type { GeometryPointBase, GeometryPointTypes } from "./geometry-point";
type PointBase = new (source: any) => GeometryPointBase<GeometryPointTypes<Coord>>;
type LineBase = new (source: any) => GeometryLineBase<GeometryLineTypes<PointBase>>;
export type GeometryPolygonTypes<TLine extends LineBase = LineBase> = GeometryPolygonTypesBase<TLine>;
export type GeometryPolygonSource<TTypes extends GeometryPolygonTypes = GeometryPolygonTypes> = GeometryPolygonSourceBase<TTypes>;
export type { GeoJsonPolygon };
export declare class GeometryPolygonBase<TTypes extends GeometryPolygonTypes = GeometryPolygonTypes> extends Base<TTypes> {
polygon: [
InstanceType<TTypes["Line"]>,
...InstanceType<TTypes["Line"]>[]
];
get coordinates(): [
InstanceType<TTypes["Line"]>["coordinates"],
...InstanceType<TTypes["Line"]>["coordinates"][]
];
set coordinates(source: GeometryPolygonSource<TTypes>);
get exteriorRing(): InstanceType<TTypes["Line"]>;
set exteriorRing(v: InstanceType<TTypes["Line"]>);
get interiorRings(): InstanceType<TTypes["Line"]>[];
set interiorRings(v: InstanceType<TTypes["Line"]>[]);
clone(): this;
equals(other: unknown): boolean;
}
/**
* [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/data/geometry-polygon)
*/
export declare class GeometryPolygon extends GeometryPolygonBase<GeometryPolygonTypes<typeof GeometryLine>> {
static readonly Line: typeof GeometryLine;
constructor(source: GeometryPolygonSource<typeof GeometryPolygon>);
}
//# sourceMappingURL=geometry-polygon.d.ts.map