import { Entity, EntityData } from './Entity';
import { EasyData } from '../util/EntityUtil';
import { HookType } from '../../common/enum/Hook';
export type CreateHookData = Omit<EasyData<HookData, 'hookId'>, 'enable' | 'latestTaskId'>;
export interface HookData extends EntityData {
    hookId: string;
    type: HookType;
    ownerId: string;
    name: string;
    endpoint: string;
    secret: string;
    latestTaskId?: string;
    enable: boolean;
}
export declare class Hook extends Entity {
    readonly hookId: string;
    readonly type: HookType;
    readonly ownerId: string;
    readonly name: string;
    endpoint: string;
    secret: string;
    enable: boolean;
    latestTaskId?: string;
    constructor(data: HookData);
    static create(data: CreateHookData): Hook;
    signPayload(payload: object): {
        digest: string;
        payloadStr: string;
    };
}
