import type { AuxiliaryStrategy } from '../../http/auxiliary/AuxiliaryStrategy';
import type { RdfDatasetRepresentation } from '../../http/representation/RdfDatasetRepresentation';
import type { FilterPattern } from '../../util/QuadUtil';
import type { RepresentationPatcherInput } from './RepresentationPatcher';
import { RepresentationPatcher } from './RepresentationPatcher';
/**
 * Guarantees that certain PATCH operations MUST NOT update certain triples in metadata resources.
 * Furthermore, this class also handles the patching for metadata resources.
 * List of triples that must not be updated are given during instantiation with the ImmutableTriple class.
 * When there is a change to an Immutable Triple, then a ConflictError will be thrown.
 */
export declare class ImmutableMetadataPatcher extends RepresentationPatcher<RdfDatasetRepresentation> {
    protected readonly logger: import("global-logger-factory").Logger<unknown>;
    private readonly patcher;
    private readonly metadataStrategy;
    private readonly immutablePatterns;
    constructor(patcher: RepresentationPatcher<RdfDatasetRepresentation>, metadataStrategy: AuxiliaryStrategy, immutablePatterns: FilterPattern[]);
    canHandle(input: RepresentationPatcherInput<RdfDatasetRepresentation>): Promise<void>;
    handle(input: RepresentationPatcherInput<RdfDatasetRepresentation>): Promise<RdfDatasetRepresentation>;
}
