import type { GitStatusResponse, GitDiffResponse, GitStageResponse, GitUnstageResponse, GitCommitResponse, GitGenerateCommitMessageResponse, GitBranchInfo, GitPushResponse, GitPullResponse, GitRebaseActionResponse, GitRemoteInfo, GitBranchListResponse } from '../../types/api';
export declare const gitMixin: {
    initGitRepo(): Promise<{
        initialized: boolean;
        path: string;
    }>;
    getGitStatus(): Promise<GitStatusResponse>;
    getGitDiff(file: string, staged?: boolean): Promise<GitDiffResponse>;
    getGitDiffFullFile(file: string, staged?: boolean): Promise<GitDiffResponse>;
    generateCommitMessage(sessionId?: string): Promise<GitGenerateCommitMessageResponse>;
    stageFiles(files: string[]): Promise<GitStageResponse>;
    unstageFiles(files: string[]): Promise<GitUnstageResponse>;
    restoreFiles(files: string[]): Promise<{
        restored: string[];
    }>;
    deleteFiles(files: string[]): Promise<{
        deleted: string[];
    }>;
    commitChanges(message: string): Promise<GitCommitResponse>;
    getGitBranch(): Promise<GitBranchInfo>;
    pushCommits(): Promise<GitPushResponse>;
    pullChanges(): Promise<GitPullResponse>;
    performRebaseAction(action: "continue" | "abort" | "skip"): Promise<GitRebaseActionResponse>;
    getRemotes(): Promise<GitRemoteInfo[]>;
    addRemote(name: string, url: string): Promise<{
        name: string;
        url: string;
    }>;
    removeRemote(name: string): Promise<{
        removed: string;
    }>;
    listGitBranches(): Promise<GitBranchListResponse>;
    checkoutBranch(branch: string): Promise<{
        branch: string;
    }>;
    createGitBranch(name: string, options?: {
        startPoint?: string;
        checkout?: boolean;
    }): Promise<{
        branch: string;
        checkedOut: boolean;
    }>;
};
//# sourceMappingURL=git.d.ts.map