/** * Copyright 2022 Gravwell, Inc. All rights reserved. * * Contact: [legal@gravwell.io](mailto:legal@gravwell.io) * * This software may be modified and distributed under the terms of the MIT * license. See the LICENSE file for details. */ import { Version } from '../../models/version/version'; import { UUID } from '../../value-objects/id'; export interface KitItemBase { id: string | null; name: string; hash: Array; } export declare enum KIT_ITEM_TYPE { license = "license", file = "file", dashboard = "dashboard", macro = "macro", actionable = "actionable", playbook = "playbook", resource = "resource", scheduledScript = "scheduled script", scheduledQuery = "scheduled query", savedQuery = "saved query", template = "template", flow = "flow", autoExtractor = "auto extractor", alert = "alert" } export interface LicenseKitItem extends KitItemBase { type: KIT_ITEM_TYPE.license; license: string; } export interface FileKitItem extends KitItemBase { type: KIT_ITEM_TYPE.file; globalID: UUID; description: string | null; size: number; contentType: string; } export interface DashboardKitItem extends KitItemBase { type: KIT_ITEM_TYPE.dashboard; globalID: UUID; description: string | null; } export interface MacroKitItem extends KitItemBase { type: KIT_ITEM_TYPE.macro; description: string | null; expansion: string; } export interface ActionableKitItem extends KitItemBase { type: KIT_ITEM_TYPE.actionable; globalID: UUID; description: string | null; } export interface PlaybookKitItem extends KitItemBase { type: KIT_ITEM_TYPE.playbook; globalID: UUID; description: string | null; } export interface ResourceKitItem extends KitItemBase { type: KIT_ITEM_TYPE.resource; description: string; size: number; version: Version; } export interface ScheduledScriptKitItem extends KitItemBase { type: KIT_ITEM_TYPE.scheduledScript; description: string; schedule: string; script: string; oneShot: boolean; isDisabled: boolean; } export interface ScheduledQueryKitItem extends KitItemBase { type: KIT_ITEM_TYPE.scheduledQuery; description: string; schedule: string; query: string; duration: number | null; oneShot: boolean; isDisabled: boolean; } export interface SavedQueryKitItem extends KitItemBase { type: KIT_ITEM_TYPE.savedQuery; globalID: UUID; description: string | null; query: string; } export interface TemplateKitItem extends KitItemBase { type: KIT_ITEM_TYPE.template; globalID: UUID; description: string | null; } export interface FlowKitItem extends KitItemBase { type: KIT_ITEM_TYPE.flow; description: string | null; } export interface AutoExtractorKitItem extends KitItemBase { type: KIT_ITEM_TYPE.autoExtractor; description: string; module: string; tag: string; } export interface AlertKitItem extends KitItemBase { type: KIT_ITEM_TYPE.alert; description: string; } export declare type KitItem = LicenseKitItem | FileKitItem | DashboardKitItem | MacroKitItem | ActionableKitItem | PlaybookKitItem | ResourceKitItem | ScheduledScriptKitItem | ScheduledQueryKitItem | SavedQueryKitItem | TemplateKitItem | FlowKitItem | AutoExtractorKitItem | AlertKitItem; export declare const isKitItem: (value: unknown) => value is KitItem; export declare const kitItemHasGlobalID: (value: unknown) => value is KitItem & { globalID: string; };