import { KnoraApiConfig } from "../../../knora-api-config";
import { UpdateResource } from "../../../models/v2/resources/update/update-resource";
import { CreateValue } from "../../../models/v2/resources/values/create/create-value";
import { DeleteValue } from "../../../models/v2/resources/values/delete/delete-value";
import { DeleteValueResponse } from "../../../models/v2/resources/values/delete/delete-value-response";
import { UpdateValue } from "../../../models/v2/resources/values/update/update-value";
import { WriteValueResponse } from "../../../models/v2/resources/values/write-value-response";
import { Endpoint } from "../../endpoint";
import { V2Endpoint } from "../v2-endpoint";
/**
 * Handles requests to the values route of the Knora API.
 *
 * @category Endpoint V2
 */
export declare class ValuesEndpointV2 extends Endpoint {
    protected readonly knoraApiConfig: KnoraApiConfig;
    protected readonly path: string;
    private readonly v2Endpoint;
    /**
     * @category Internal
     * @param knoraApiConfig the config object.
     * @param path this endpoint's base path.
     * @param v2Endpoint a reference to the v2 endpoint.
     */
    constructor(knoraApiConfig: KnoraApiConfig, path: string, v2Endpoint: V2Endpoint);
    /**
     * Reads a value from Knora.
     *
     * @param resourceIri the Iri of the resource the value belongs to.
     * @param valueUuid the value's UUID.
     */
    getValue(resourceIri: string, valueUuid: string): import("rxjs").Observable<import("../../..").ReadResource>;
    /**
     * Updates an existing value.
     *
     * @param resource The resource with the value to be updated.
     */
    updateValue(resource: UpdateResource<UpdateValue>): import("rxjs").Observable<WriteValueResponse>;
    /**
     * Creates a new value.
     *
     * @param resource The resource with the value to be created.
     */
    createValue(resource: UpdateResource<CreateValue>): import("rxjs").Observable<WriteValueResponse>;
    /**
     * Deletes a value.
     *
     * @param resource The resource with the value to be deleted.
     */
    deleteValue(resource: UpdateResource<DeleteValue>): import("rxjs").Observable<DeleteValueResponse>;
}
