import type { RuleDecision } from "../types.js"; export interface HuskyConfig { decisions: RuleDecision[]; /** Existing husky config (pre-commit, commit-msg, etc.) */ existingHooks?: Record; /** Prepend gitleaks secret scan to pre-commit hook */ includeGitleaks?: boolean; /** Append branch naming convention check to pre-commit hook */ includeBranchCheck?: boolean; } /** * Generate Husky hook scripts based on rule decisions. * * - pre-commit: lint-staged (runs eslint, prettier, etc. on staged files) * - commit-msg: commitlint validation */ export declare function generateHuskyConfig(config: HuskyConfig): Record; /** * Generate lint-staged configuration content (used in package.json "lint-staged" field). * Configures lint-staged to run ESLint on staged JS/TS files. */ export declare function generateLintStagedConfig(): string; /** * Generate commitlint.config.js content. * Uses @commitlint/config-conventional for conventional commit messages. */ export declare function generateCommitlintConfig(): string; /** * Generate the .husky directory structure instructions. * * Husky v9+ does not require `npx husky init` — hooks are plain shell scripts. * `npx husky init` would overwrite harness-generated hooks with stub content, * so we use `npx husky` (which just sets core.hooksPath) instead. */ export declare function generateHuskySetupInstructions(): string; //# sourceMappingURL=husky.d.ts.map