import type { RefElements } from "./ref-elements.js";
import type { Feature } from "geojson";
export declare abstract class OsmObject {
    refCount: number;
    hasTag: boolean;
    protected refElems: RefElements;
    type: string;
    id: string;
    tags: {
        [k: string]: string;
    };
    meta: {
        [k: string]: string;
    };
    constructor(type: string, id: string, refElems: RefElements);
    addTags(tags: {
        [k: string]: string;
    }): void;
    addTag(k: string, v: string): void;
    addMeta(k: string, v: any): void;
    addMetas(meta: {
        [k: string]: string;
    }): void;
    getCompositeId(): string;
    getProps(): {
        [k: string]: string | {
            [k: string]: string;
        };
    };
    abstract toFeature(): Feature | undefined;
}
