export interface GitTreeRow {
    id: string;
    type: 'file' | 'folder';
    path: string;
    staged: boolean;
    status?: string;
    actionPaths: string[];
    open?: () => void;
    toggleExpanded?: () => void;
}
interface GitState {
    isExpanded: boolean;
    activeSessionId: string | null;
    selectedFile: string | null;
    selectedFileStaged: boolean;
    isDiffOpen: boolean;
    isCommitModalOpen: boolean;
    commitSessionId: string | null;
    wasSessionListCollapsed: boolean;
    gitTreeKnownFolders: Record<string, Set<string>>;
    gitTreeExpandedFolders: Record<string, Set<string>>;
    gitTreeSections: Record<string, GitTreeRow[]>;
    gitTreeRows: GitTreeRow[];
    toggleSidebar: () => void;
    expandSidebar: () => void;
    collapseSidebar: () => void;
    openDiff: (file: string, staged: boolean) => void;
    closeDiff: () => void;
    switchFile: (file: string, staged: boolean) => void;
    openCommitModal: () => void;
    openCommitModalForSession: (sessionId: string) => void;
    closeCommitModal: () => void;
    setActiveSessionId: (sessionId: string | null) => void;
    setSessionListCollapsed: (collapsed: boolean) => void;
    syncGitTreeFolders: (sectionId: string, paths: string[]) => void;
    toggleGitTreeFolder: (sectionId: string, path: string) => void;
    setGitTreeSectionRows: (sectionId: string, rows: GitTreeRow[]) => void;
}
export declare const useGitStore: import("zustand").UseBoundStore<import("zustand").StoreApi<GitState>>;
export {};
//# sourceMappingURL=gitStore.d.ts.map