/* 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 { AuthMethod } from './auth-method';
// May contain unused imports in some cases
// @ts-ignore
import type { IdpIdentity } from './idp-identity';
// May contain unused imports in some cases
// @ts-ignore
import type { PrincipalAgent } from './principal-agent';
// May contain unused imports in some cases
// @ts-ignore
import type { PrincipalSlack } from './principal-slack';
// May contain unused imports in some cases
// @ts-ignore
import type { PrincipalSystem } from './principal-system';
// May contain unused imports in some cases
// @ts-ignore
import type { PrincipalUser } from './principal-user';
// May contain unused imports in some cases
// @ts-ignore
import type { PrincipalWebhook } from './principal-webhook';
// May contain unused imports in some cases
// @ts-ignore
import type { PrincipalWorker } from './principal-worker';
// May contain unused imports in some cases
// @ts-ignore
import type { SystemActorKind } from './system-actor-kind';

/**
 * @type Principal
 */
export type Principal = { kind: 'agent' } & PrincipalAgent | { kind: 'slack' } & PrincipalSlack | { kind: 'system' } & PrincipalSystem | { kind: 'user' } & PrincipalUser | { kind: 'webhook' } & PrincipalWebhook | { kind: 'worker' } & PrincipalWorker;
