import { Commit, CommitRenderOptions } from "./commit"; import { GitgraphCore } from "./gitgraph"; import { BranchUserApi } from "./user-api/branch-user-api"; import { TemplateOptions, BranchStyle } from "./template"; export { BranchCommitDefaultOptions, BranchRenderOptions, BranchOptions, DELETED_BRANCH_NAME, createDeletedBranch, Branch, }; interface BranchCommitDefaultOptions extends CommitRenderOptions { author?: string; subject?: string; style?: TemplateOptions["commit"]; } interface BranchRenderOptions { renderLabel?: (branch: Branch) => TNode; } interface BranchOptions extends BranchRenderOptions { /** * Gitgraph constructor */ gitgraph: GitgraphCore; /** * Branch name */ name: string; /** * Branch style */ style: BranchStyle; /** * Parent commit */ parentCommitHash?: Commit["hash"]; /** * Default options for commits */ commitDefaultOptions?: BranchCommitDefaultOptions; /** * On graph update. */ onGraphUpdate: () => void; } declare const DELETED_BRANCH_NAME = ""; declare class Branch { name: BranchOptions["name"]; style: BranchStyle; computedColor?: BranchStyle["color"]; parentCommitHash: BranchOptions["parentCommitHash"]; commitDefaultOptions: BranchCommitDefaultOptions; renderLabel: BranchOptions["renderLabel"]; private gitgraph; private onGraphUpdate; constructor(options: BranchOptions); /** * Return the API to manipulate Gitgraph branch as a user. */ getUserApi(): BranchUserApi; /** * Return true if branch was deleted. */ isDeleted(): boolean; } declare function createDeletedBranch(gitgraph: GitgraphCore, style: BranchStyle, onGraphUpdate: () => void): Branch;