import type { Static } from '@eggjs/typebox-validate/typebox';
import { Context } from 'egg';
import { ListHookQueryOptions } from '../typebox.ts';
export interface CreateHookRequest {
    type: string;
    name: string;
    endpoint: string;
    secret: string;
}
export interface UpdateHookRequest {
    endpoint: string;
    secret: string;
}
export declare class HookController {
    private readonly hookManageService;
    private readonly taskService;
    private readonly userRoleManager;
    createHook(ctx: Context, req: CreateHookRequest): Promise<import("./convertor/HookConvertor.ts").HookVo>;
    updateHook(ctx: Context, id: string, req: UpdateHookRequest): Promise<import("./convertor/HookConvertor.ts").HookVo>;
    deleteHook(ctx: Context, id: string): Promise<import("./convertor/HookConvertor.ts").DeleteHookVo>;
    listHooks(ctx: Context, packageName: Static<typeof ListHookQueryOptions>['package'], offset: Static<typeof ListHookQueryOptions>['offset'], limit: Static<typeof ListHookQueryOptions>['limit']): Promise<{
        objects: import("./convertor/HookConvertor.ts").HookVo[];
    }>;
    getHook(ctx: Context, id: string): Promise<import("./convertor/HookConvertor.ts").HookVo>;
}
