export type GitIntegrationConfiguration = {
    enabled: boolean;
    installationId?: string;
};
export type PullRequestCreated = {
    prTitle: string;
    prUrl: string;
};
export type ApiGitFileContent = {
    content: string;
    sha: string;
    filePath: string;
};
export type GitRepo = {
    name: string;
    fullName: string;
    ownerLogin: string;
    defaultBranch: string;
};
export type GitFileEntry = {
    name: string;
    path: string;
    type: 'file' | 'dir';
    size: number;
    sha: string;
};
export type GitBranch = {
    name: string;
    /** TRUE if direct writes are blocked (GitHub protection OR project's configured branch) */
    isProtected: boolean;
};
export type GitFileOrDirectory = {
    type: 'directory';
    entries: GitFileEntry[];
} | {
    type: 'file';
    content: string;
    sha: string;
    path: string;
};
export type ApiGitBranchesResponse = {
    status: 'ok';
    results: GitBranch[];
};
export type ApiGitFileOrDirectoryResponse = {
    status: 'ok';
    results: GitFileOrDirectory;
};
export type ApiGitFileSavedResponse = {
    status: 'ok';
    results: {
        sha: string;
        path: string;
    };
};
export type ApiGitFileDeletedResponse = {
    status: 'ok';
    results: {
        deleted: true;
    };
};
export type CreateGitBranchRequest = {
    name: string;
    sourceBranch: string;
};
export type ApiGitBranchCreatedResponse = {
    status: 'ok';
    results: GitBranch;
};
export type CreateGitPullRequestRequest = {
    title: string;
    description: string;
};
export type ApiGitPullRequestCreatedResponse = {
    status: 'ok';
    results: PullRequestCreated;
};
//# sourceMappingURL=gitIntegration.d.ts.map