export interface Config { githubToken?: string; model: string; alwaysAskBeforeCommit: boolean; maxDiffSize: number; remoteConfigUrl?: string; lastRemoteConfigFetch?: number; } export interface RemoteConfig { defaultModel: string; minVersion: string; messages?: { warning?: string; info?: string; }; } export interface CommitMessage { subject: string; body?: string; } export interface GenerateOptions { force?: boolean; model?: string; hook?: boolean; dryRun?: boolean; explain?: boolean; } export interface CommitQualityScore { total: number; subjectLength: number; conventionalFormat: number; imperativeMood: number; scopePresent: number; noPeriod: number; descriptive: number; suggestions: string[]; } export interface RepoState { branch: string; isDetachedHead: boolean; hasUnstagedChanges: boolean; hasStagedChanges: boolean; hasUntrackedFiles: boolean; hasStash: boolean; aheadBy: number; behindBy: number; hasConflicts: boolean; conflictFiles: string[]; isDirty: boolean; } export interface BranchInfo { name: string; current: boolean; lastCommitDate: string; lastCommitMessage: string; isRemote: boolean; isMerged: boolean; aheadBehind?: { ahead: number; behind: number; }; } export interface PROptions { base?: string; model?: string; } export interface ReleaseOptions { from?: string; model?: string; } export interface CustomSecurityRule { pattern: string; label: string; flags?: string; } export interface CustomSecurityConfig { rules: CustomSecurityRule[]; disableDefaults?: boolean; } //# sourceMappingURL=types.d.ts.map