import { type GeoJsonMultiLineString, GeometryMultiLineBase as Base, type GeometryMultiLineSource as GeometryMultiLineSourceBase, type GeometryMultiLineTypes as GeometryMultiLineTypesBase } 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 GeometryMultiLineTypes<TLine extends LineBase = LineBase> = GeometryMultiLineTypesBase<TLine>;
export type GeometryMultiLineSource<TTypes extends GeometryMultiLineTypes = GeometryMultiLineTypes> = GeometryMultiLineSourceBase<TTypes>;
export type { GeoJsonMultiLineString };
export declare class GeometryMultiLineBase<TTypes extends GeometryMultiLineTypes = GeometryMultiLineTypes> extends Base<TTypes> {
    lines: InstanceType<TTypes["Line"]>[];
    get coordinates(): InstanceType<TTypes["Line"]>["coordinates"][];
    set coordinates(source: GeometryMultiLineSource<TTypes>);
    clone(): this;
    equals(other: unknown): boolean;
}
/**
 * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/data/geometry-multi-line)
 */
export declare class GeometryMultiLine extends GeometryMultiLineBase<GeometryMultiLineTypes<typeof GeometryLine>> {
    static readonly Line: typeof GeometryLine;
    constructor(source: GeometryMultiLineSource<typeof GeometryMultiLine>);
}
//# sourceMappingURL=geometry-multiline.d.ts.map