export type Coord = typeof Number | typeof String | (new (arg: any) => any); export type CoordArg = T extends typeof Number | typeof String ? Parameters[0] : T extends new (arg: infer A) => any ? A : never; export type CoordValue = T extends typeof Number | typeof String ? ReturnType : T extends new (arg: any) => infer B ? B : never; type GeoJsonType = "Point" | "LineString" | "Polygon" | "MultiPoint" | "MultiLineString" | "MultiPolygon" | "GeometryCollection"; export interface Geometry { readonly type: GeoJsonType; } export declare function coord(Coord: T, argOrValue: CoordArg | CoordValue): CoordValue; export declare function map(list: T, func: (item: T[number]) => U): { -readonly [K in keyof T]: U; }; export declare function isGeometryCollection(o: unknown): o is T; export declare function isGeometryLine(o: unknown): o is T; export declare function isGeometryMultiLine(o: unknown): o is T; export declare function isGeometryMultiPoint(o: unknown): o is T; export declare function isGeometryMultiPolygon(o: unknown): o is T; export declare function isGeometryPoint(o: unknown): o is T; export declare function isGeometryPolygon(o: unknown): o is T; export {}; //# sourceMappingURL=geometry.d.ts.map