/**
 * @copyright Sister Software
 * @license AGPL-3.0
 * @author Teffen Ellis, et al.
 */
import type { Feature, Geometry } from "geojson";
import { Alpha2LanguageCode, Alpha3bLanguageCode } from "mailwoman/core/resources/languages";
import { WhosOnFirstPlacetype } from "./definition.js";
export interface WOFBaseProperties {
    "wof:id": number;
    "wof:name": string;
    "wof:src": string;
    "src:geom": string;
    "wof:placetype": WhosOnFirstPlacetype;
    "wof:parent_id": number;
    "wof:superseded_by"?: number[];
}
export declare const WOFNameKinds: readonly ["preferred", "variant", "colloquial", "abbr", "short"];
export type WOFNameKind = (typeof WOFNameKinds)[number];
export type LanguageSpecificKey = `name:${Alpha3bLanguageCode}_x_${WOFNameKind}`;
export type WOFLanguageProperties = {
    [key in LanguageSpecificKey]?: string | string[];
};
export type WOFProperties = WOFBaseProperties & WOFLanguageProperties;
export type WOFFeature = Feature<Geometry, WOFProperties>;
type LocalizedPlacetypePropMap = Map<WOFNameKind, string>;
export interface ParsedWOFPlacetype {
    id: number;
    parent_id: number;
    name: string;
    src: string;
    placetype: WhosOnFirstPlacetype;
    localizedPropMap: Map<Alpha3bLanguageCode, LocalizedPlacetypePropMap>;
}
export declare function parsePlacetypeSource(key: string): {
    languageCode: Alpha3bLanguageCode | undefined;
    nameKind: "preferred" | "variant" | "colloquial" | "abbr" | "short" | undefined;
};
export declare function pluckPlacetypeSpec({ "wof:id": id, "wof:name": name, "wof:src": wof_src, "src:geom": geom_src, "wof:parent_id": parent_id, "wof:placetype": placetype, "wof:superseded_by": superseded_by, ...props }: WOFProperties): ParsedWOFPlacetype;
/**
 * Given a WhosOnFirst filename, plucks and normalizes the language code into an ISO 639-1 alpha-2
 * code.
 *
 * @deprecated
 */
export declare function pluckFileNameLanguageCode(filename: string): Alpha2LanguageCode | null;
export {};
//# sourceMappingURL=admin.d.ts.map