/**
 * Commit-author PreToolUse hook
 * Intercepts git commit commands and replaces Claude attribution with Nori
 */
export type HookInput = {
    session_id: string;
    transcript_path: string;
    cwd: string;
    permission_mode: string;
    hook_event_name: string;
    tool_name: string;
    tool_input: {
        command?: string;
        [key: string]: any;
    };
    tool_use_id: string;
};
export type HookOutput = {
    hookSpecificOutput: {
        hookEventName: string;
        permissionDecision: "allow" | "deny" | "ask";
        permissionDecisionReason?: string;
        updatedInput?: {
            command?: string;
            [key: string]: any;
        };
    };
};
/**
 * Check if a command is a git commit command
 * @param args - Arguments object
 * @param args.command - The bash command to check
 *
 * @returns True if the command is a git commit command with -m flag
 */
export declare const isGitCommitCommand: (args: {
    command: string;
}) => boolean;
/**
 * Replace Claude attribution with Nori attribution in commit message
 * @param args - Arguments object
 * @param args.command - The original git commit command
 *
 * @returns Modified command with Nori attribution
 */
export declare const replaceAttribution: (args: {
    command: string;
}) => string;
/**
 * Process hook input and return output
 * Exported for testing
 * @param args - Arguments object
 * @param args.input - The hook input to process
 *
 * @returns Hook output or null if the input should be passed through
 */
export declare const processInput: (args: {
    input: HookInput;
}) => HookOutput | null;
//# sourceMappingURL=commit-author.d.ts.map