import { GitRepository } from '../repositories/git.repository.js';
import { BranchInfo } from '../ui/types.js';
/**
 * Git操作のビジネスロジックを管理するService
 */
export declare class GitService {
    private readonly repository;
    constructor(repository: GitRepository);
    isValidRepository(): Promise<boolean>;
    getAllBranches(): Promise<BranchInfo[]>;
    private getLocalBranchesInfo;
    private getRemoteBranchesInfo;
    private getBranchType;
    createFeatureBranch(taskName: string, baseBranch: string): Promise<string>;
    deleteBranch(branchName: string, options?: {
        force?: boolean;
        remote?: boolean;
    }): Promise<void>;
    hasUncommittedChanges(workdir?: string): Promise<boolean>;
    getChangedFilesCount(workdir?: string): Promise<number>;
    commitAllChanges(message: string): Promise<void>;
    pushChanges(branchName: string): Promise<void>;
    stashChanges(message?: string): Promise<void>;
    discardAllChanges(): Promise<void>;
    fetchRemoteUpdates(): Promise<void>;
}
//# sourceMappingURL=git.service.d.ts.map