import { Feature } from 'ol';
import { Geometry } from 'ol/geom.js';
import OgcApiFeaturesClient from './ogcapifeaturesclient.js';
import LayerWms from '../../models/layers/layerwms.js';
import ServerOgcApiFeatures, { OapifCollection, OapifLayer } from '../../models/serverogcapifeatures.js';
import OgcApiFeaturesSchema from './ogcapifeaturesschema.js';
import ServerOgc from '../../models/serverogc.js';
import VendorSpecificOgcServerManager from '../vendorspecificogcservermanager.js';
import { OgcApiClientOptions } from './ogcapiclient.js';
/**
 * Manages interaction between the GG and an OGC API Features client (OAPIF).
 */
export default class OgcApiFeaturesManager extends VendorSpecificOgcServerManager<OgcApiFeaturesClient, OgcApiClientOptions> {
    protected get state(): import("../main.js").State;
    getClientId(ogcServer: ServerOgc): string;
    initializeSingleton(): void;
    getSchema(layer: OapifLayer): Promise<OgcApiFeaturesSchema>;
    getItems(layer: OapifLayer, crs?: string, bbox?: number[], limit?: number): Promise<Feature<Geometry>[]>;
    getItem(layer: OapifLayer, featureId: string): Promise<Feature<Geometry> | undefined>;
    createItem(layer: OapifLayer, feature: Feature<Geometry>): Promise<boolean>;
    updateItem(layer: OapifLayer, featureId: string, feature: Feature<Geometry>): Promise<boolean>;
    deleteItem(layer: OapifLayer, featureId: string): Promise<boolean>;
    getServer(ogcServer: ServerOgc): Promise<ServerOgcApiFeatures>;
    getServer(layer: LayerWms): Promise<ServerOgcApiFeatures>;
    getCollectionByTitle(title: string, server: ServerOgc): Promise<OapifCollection | null>;
}
