import { Controller, type ControllerCallContext } from './Controller.js';
import { FileContentService } from '../../../utils/FileContentService.js';
import { JobManagerContainer } from '../../job/JobManagerContainer.js';
import { ContainerEngine } from '../../../ContainerEngine.js';
export default class GitController extends Controller {
    private readonly filesService;
    private jobManagerContainer;
    private engine;
    constructor(subPath: string, filesService: FileContentService, jobManagerContainer: JobManagerContainer, engine: ContainerEngine);
    getHistory(ctx: ControllerCallContext): Promise<({
        id: any;
        author_name: string;
        message: string;
        date: null;
        head: any;
        remote: boolean;
    } | null)[]>;
    getDiff(ctx: ControllerCallContext): Promise<{
        oldFile: string;
        newFile: string;
        txt: string;
        patches: string[];
    }[]>;
    getCommit(ctx: ControllerCallContext): Promise<{
        changes: import("../../../git/GitScanner.js").GitChange[];
    }>;
    postCommit(ctx: ControllerCallContext): Promise<{
        driveId: string;
        message: string;
    }>;
    postCmd(ctx: ControllerCallContext): Promise<{
        stdout: string;
        stderr: string;
    }>;
    fetch(ctx: ControllerCallContext): Promise<{
        driveId: string;
    }>;
    pull(ctx: ControllerCallContext): Promise<{
        driveId: string;
    }>;
    push(ctx: ControllerCallContext): Promise<{
        driveId: string;
    }>;
    resetRemote(ctx: ControllerCallContext): Promise<{
        driveId: string;
        payload: string;
    }>;
    resetLocal(ctx: ControllerCallContext): Promise<{
        driveId: string;
        payload: string;
    }>;
    removeUntracked(ctx: ControllerCallContext): Promise<{
        error?: undefined;
    } | {
        error: string;
    }>;
    removeCached(ctx: ControllerCallContext): Promise<{
        error?: undefined;
    } | {
        error: string;
    }>;
}
//# sourceMappingURL=GitController.d.ts.map