import type { GitWorkspaceConfig, WriteQueryOptions } from "../types";
import type { GitProviderClient } from "./GitWorkspaceBackend";
export declare abstract class BaseGitProviderClient implements GitProviderClient {
    protected joinPath(...parts: Array<string | undefined>): string;
    protected encodePath(path: string): string;
    protected base64EncodeUtf8(value: string): string;
    protected base64DecodeUtf8(value: string): string;
    protected base64Encode(value: string): string;
    protected ensureOk(status: number, message: string): void;
    protected getCommitMessage(queryId: string, options: WriteQueryOptions | undefined, isNew: boolean): string;
    protected getDeleteMessage(queryId: string): string;
    abstract validateAccess(config: GitWorkspaceConfig): Promise<void>;
    abstract listFolder(config: GitWorkspaceConfig, folderId?: string): Promise<import("../types").FolderEntry[]>;
    abstract readQuery(config: GitWorkspaceConfig, queryId: string): Promise<import("../types").ReadResult>;
    abstract writeQuery(config: GitWorkspaceConfig, queryId: string, queryText: string, options?: WriteQueryOptions): Promise<void>;
    abstract listVersions(config: GitWorkspaceConfig, queryId: string): Promise<import("../types").VersionInfo[]>;
    abstract readVersion(config: GitWorkspaceConfig, queryId: string, versionId: string): Promise<import("../types").ReadResult>;
    abstract deleteQuery(config: GitWorkspaceConfig, queryId: string): Promise<void>;
}
