UNPKG

@altostra/core

Version:

Core library for shared types and logic

21 lines (20 loc) 965 B
import type { AnyTypeValidation, TypeValidation } from '@altostra/type-validations'; import type { IDomainEntity } from "../IDomainEntity"; import type { Name } from "../Name"; import type { OrganizationId } from "../Organization/OrganizationId"; import type { IntegrationId } from "./IntegrationId"; export interface Integration<TType extends string = string, TData = unknown> extends IDomainEntity { id: IntegrationId; name: Name; type: TType; organizationId: OrganizationId; data: TData; } export declare const isIntegration: import("@altostra/type-validations").ObjectOfTypeValidation<{ name: Name; id: IntegrationId; organizationId: OrganizationId; type: import("@altostra/common/CustomTypes/NonEmptyString").NonEmptyString; data: any; }>; export declare function createIntegrationValidation<TType extends string, TData>(type: TType, dataValidation: AnyTypeValidation<TData>): TypeValidation<Integration<TType, TData>>;