import type { SparqlWorkspaceConfig, FolderEntry, ReadResult, VersionInfo, WriteQueryOptions } from "../types";
import type { WorkspaceBackend } from "./WorkspaceBackend";
export default class SparqlWorkspaceBackend implements WorkspaceBackend {
    private config;
    private options?;
    readonly type: "sparql";
    constructor(config: SparqlWorkspaceConfig, options?: {
        authHeaders?: Record<string, string>;
        getAuthHeaders?: () => Promise<Record<string, string> | undefined>;
    });
    private resolveAuthHeaders;
    private sparqlQuery;
    private sparqlUpdate;
    private getBindings;
    private folderIriFromId;
    private resolveManagedQueryIri;
    validateAccess(): Promise<void>;
    listFolder(folderId?: string): Promise<FolderEntry[]>;
    searchByName(query: string): Promise<FolderEntry[]>;
    readQuery(queryId: string): Promise<ReadResult>;
    renameQuery(queryId: string, newLabel: string): Promise<void>;
    deleteQuery(queryId: string): Promise<void>;
    renameFolder(folderId: string, newLabel: string): Promise<void>;
    deleteFolder(folderId: string): Promise<void>;
    writeQuery(queryId: string, queryText: string, options?: WriteQueryOptions): Promise<void>;
    listVersions(queryId: string): Promise<VersionInfo[]>;
    readVersion(queryId: string, versionId: string): Promise<ReadResult>;
}
