import { Hook } from '../core/entity/Hook';
import { HookType } from '../common/enum/Hook';
export interface UpdateHookCommand {
    hookId: string;
    endpoint: string;
    secret: string;
}
export declare class HookRepository {
    private readonly Hook;
    saveHook(hook: Hook): Promise<void>;
    findHookById(hookId: string): Promise<Hook | undefined>;
    removeHook(hookId: string): Promise<void>;
    /**
     * only endpoint and secret can be updated
     */
    updateHook(cmd: UpdateHookCommand): Promise<void>;
    listHooksByOwnerId(ownerId: string): Promise<Hook[]>;
    listHooksByTypeAndName(type: HookType, name: string, since?: bigint): Promise<Array<Hook>>;
}
