export type ManagedGitHookCommand = string | ((absoluteProjectDir: string) => string);
export type ManagedGitHook = {
    name: string;
    command: ManagedGitHookCommand;
};
export type AppliedManagedGitHook = {
    name: string;
    command: string;
    legacyCommands: string[];
};
export declare class HooksService {
    private constructor();
    static consolidateManagedGitHooks(absoluteProjectDir: string, managedGitHooks: ManagedGitHook[], consolidatedManagedGitHooks: Map<string, AppliedManagedGitHook>): void;
    static applyManagedGitHooks(absoluteProjectDir: string, managedGitHooks: AppliedManagedGitHook[]): Promise<void>;
    private static resolveManagedGitHook;
    private static resolveManagedGitHookCommand;
}
