import { APIResource } from "../../../../core/resource.js"; import * as CatalogAPI from "./catalog.js"; import { BaseCatalog, Catalog, CatalogListParams, CatalogListResponse } from "./catalog.js"; import { APIPromise } from "../../../../core/api-promise.js"; import { RequestOptions } from "../../../../internal/request-options.js"; export declare class BaseCategories extends APIResource { static readonly _key: readonly ['cloudforceOne', 'threatEvents', 'categories']; /** * Creates a new threat event category in Cloudforce One for organizing and * classifying threat events. * * @example * ```ts * const category = * await client.cloudforceOne.threatEvents.categories.create( * { * account_id: 'account_id', * killChain: 0, * name: 'name', * }, * ); * ``` */ create(params: CategoryCreateParams, options?: RequestOptions): APIPromise; /** * Lists all threat event categories configured for classifying and organizing * threat events. * * @example * ```ts * const categories = * await client.cloudforceOne.threatEvents.categories.list({ * account_id: 'account_id', * }); * ``` */ list(params: CategoryListParams, options?: RequestOptions): APIPromise; /** * Removes a threat event category from Cloudforce One. * * @example * ```ts * const category = * await client.cloudforceOne.threatEvents.categories.delete( * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', * { account_id: 'account_id' }, * ); * ``` */ delete(categoryID: string, params: CategoryDeleteParams, options?: RequestOptions): APIPromise; /** * Partially updates a threat event category in Cloudforce One, modifying specific * fields without replacing the entire category. * * @example * ```ts * const response = * await client.cloudforceOne.threatEvents.categories.edit( * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', * { account_id: 'account_id' }, * ); * ``` */ edit(categoryID: string, params: CategoryEditParams, options?: RequestOptions): APIPromise; /** * Retrieves details for a specific threat event category. * * @example * ```ts * const category = * await client.cloudforceOne.threatEvents.categories.get( * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', * { account_id: 'account_id' }, * ); * ``` */ get(categoryID: string, params: CategoryGetParams, options?: RequestOptions): APIPromise; } export declare class Categories extends BaseCategories { catalog: CatalogAPI.Catalog; } export interface CategoryCreateResponse { killChain: number; name: string; uuid: string; mitreAttack?: Array; mitreCapec?: Array; shortname?: string; } export type CategoryListResponse = Array; export declare namespace CategoryListResponse { interface CategoryListResponseItem { killChain: number; name: string; uuid: string; mitreAttack?: Array; mitreCapec?: Array; shortname?: string; } } export interface CategoryDeleteResponse { uuid: string; } export interface CategoryEditResponse { killChain: number; name: string; uuid: string; mitreAttack?: Array; mitreCapec?: Array; shortname?: string; } export interface CategoryGetResponse { killChain: number; name: string; uuid: string; mitreAttack?: Array; mitreCapec?: Array; shortname?: string; } export interface CategoryCreateParams { /** * Path param: Account ID. */ account_id: string; /** * Body param */ killChain: number; /** * Body param */ name: string; /** * Body param */ mitreAttack?: Array; /** * Body param */ mitreCapec?: Array; /** * Body param */ shortname?: string; } export interface CategoryListParams { /** * Path param: Account ID. */ account_id: string; /** * Query param: Array of dataset IDs to query categories from. If not provided, * uses the default dataset. */ datasetIds?: Array; } export interface CategoryDeleteParams { /** * Account ID. */ account_id: string; } export interface CategoryEditParams { /** * Path param: Account ID. */ account_id: string; /** * Body param */ killChain?: number; /** * Body param */ mitreAttack?: Array; /** * Body param */ mitreCapec?: Array; /** * Body param */ name?: string; /** * Body param */ shortname?: string; } export interface CategoryGetParams { /** * Account ID. */ account_id: string; } export declare namespace Categories { export { type CategoryCreateResponse as CategoryCreateResponse, type CategoryListResponse as CategoryListResponse, type CategoryDeleteResponse as CategoryDeleteResponse, type CategoryEditResponse as CategoryEditResponse, type CategoryGetResponse as CategoryGetResponse, type CategoryCreateParams as CategoryCreateParams, type CategoryListParams as CategoryListParams, type CategoryDeleteParams as CategoryDeleteParams, type CategoryEditParams as CategoryEditParams, type CategoryGetParams as CategoryGetParams, }; export { Catalog as Catalog, BaseCatalog as BaseCatalog, type CatalogListResponse as CatalogListResponse, type CatalogListParams as CatalogListParams, }; } //# sourceMappingURL=categories.d.ts.map