/* tslint:disable */
/* eslint-disable */
/**
 * Fabro Run API
 * HTTP API for managing Fabro workflow run executions.
 *
 * The version of the OpenAPI document: 0.2.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


// May contain unused imports in some cases
// @ts-ignore
import type { HookEvent } from './hook-event';
// May contain unused imports in some cases
// @ts-ignore
import type { TlsMode } from './tls-mode';

export interface HookDefinition {
    'name': string | null;
    'event': HookEvent;
    'command': string | null;
    'type'?: HookDefinitionTypeEnum | null;
    'url'?: string | null;
    'headers'?: { [key: string]: string; } | null;
    'tls'?: TlsMode;
    'prompt'?: string | null;
    'model'?: string | null;
    'max_tool_rounds'?: number | null;
    'matcher': string | null;
    'blocking': boolean | null;
    'timeout_ms': number | null;
    'sandbox': boolean | null;
}

export const HookDefinitionTypeEnum = {
    COMMAND: 'command',
    HTTP: 'http',
    PROMPT: 'prompt',
    AGENT: 'agent'
} as const;

export type HookDefinitionTypeEnum = typeof HookDefinitionTypeEnum[keyof typeof HookDefinitionTypeEnum];
