import { APIResource } from "../../../../resource.js"; import * as Core from "../../../../core.js"; import * as CustomAPI from "./custom.js"; import * as ProfilesAPI from "./profiles.js"; export declare class Custom extends APIResource { /** * Creates a DLP custom profile. * * @example * ```ts * const profile = * await client.zeroTrust.dlp.profiles.custom.create({ * account_id: 'account_id', * name: 'name', * }); * ``` */ create(params: CustomCreateParams, options?: Core.RequestOptions): Core.APIPromise; /** * Updates a DLP custom profile. * * @example * ```ts * const profile = * await client.zeroTrust.dlp.profiles.custom.update( * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', * { account_id: 'account_id', name: 'name' }, * ); * ``` */ update(profileId: string, params: CustomUpdateParams, options?: Core.RequestOptions): Core.APIPromise; /** * Deletes a DLP custom profile. * * @example * ```ts * const custom = * await client.zeroTrust.dlp.profiles.custom.delete( * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', * { account_id: 'account_id' }, * ); * ``` */ delete(profileId: string, params: CustomDeleteParams, options?: Core.RequestOptions): Core.APIPromise; /** * Fetches a custom DLP profile by id. * * @example * ```ts * const profile = * await client.zeroTrust.dlp.profiles.custom.get( * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', * { account_id: 'account_id' }, * ); * ``` */ get(profileId: string, params: CustomGetParams, options?: Core.RequestOptions): Core.APIPromise; } export interface CustomProfile { /** * The id of the profile (uuid). */ id: string; /** * Related DLP policies will trigger when the match count exceeds the number set. */ allowed_match_count: number; /** * When the profile was created. */ created_at: string; /** * The name of the profile. */ name: string; ocr_enabled: boolean; /** * When the profile was lasted updated. */ updated_at: string; ai_context_enabled?: boolean; confidence_threshold?: 'low' | 'medium' | 'high' | 'very_high'; /** * @deprecated Scan the context of predefined entries to only return matches * surrounded by keywords. */ context_awareness?: ProfilesAPI.ContextAwareness; /** * Data classes associated with this profile. */ data_classes?: Array; /** * Data tags associated with this profile. */ data_tags?: Array; /** * The description of the profile. */ description?: string | null; /** * @deprecated */ entries?: Array; /** * Sensitivity levels associated with this profile. */ sensitivity_levels?: Array; shared_entries?: Array; } export declare namespace CustomProfile { interface CustomEntry { id: string; created_at: string; /** * @deprecated */ enabled: boolean; name: string; pattern: CustomAPI.Pattern; type: 'custom'; updated_at: string; description?: string | null; /** * @deprecated */ profile_id?: string | null; } interface CustomPromptTopicEntry { id: string; created_at: string; /** * @deprecated */ enabled: boolean; name: string; type: 'custom_prompt_topic'; updated_at: string; } interface PredefinedEntry { id: string; confidence: PredefinedEntry.Confidence; enabled: boolean; name: string; type: 'predefined'; /** * @deprecated */ profile_id?: string | null; /** * A Predefined AI prompt classification topic entry. */ variant?: PredefinedEntry.UnionMember0 | PredefinedEntry.UnionMember1; } namespace PredefinedEntry { interface Confidence { /** * Indicates whether this entry has AI remote service validation. */ ai_context_available: boolean; /** * Indicates whether this entry has any form of validation that is not an AI remote * service. */ available: boolean; } /** * A Predefined AI prompt classification topic entry. */ interface UnionMember0 { topic_type: 'Intent' | 'Content'; type: 'PromptTopic'; /** * A customer-facing explanation of what this predefined AI prompt topic * represents. */ description?: string | null; } /** * A general predefined entry. */ interface UnionMember1 { type: 'General'; /** * A customer-facing explanation of what this predefined entry represents. */ description?: string | null; } } interface IntegrationEntry { id: string; created_at: string; enabled: boolean; name: string; type: 'integration'; updated_at: string; profile_id?: string | null; } interface ExactDataEntry { id: string; /** * Only applies to custom word lists. Determines if the words should be matched in * a case-sensitive manner Cannot be set to false if secret is true */ case_sensitive: boolean; created_at: string; enabled: boolean; name: string; secret: boolean; type: 'exact_data'; updated_at: string; } interface DocumentFingerprintEntry { id: string; created_at: string; enabled: boolean; name: string; type: 'document_fingerprint'; updated_at: string; } interface WordListEntry { id: string; created_at: string; enabled: boolean; name: string; type: 'word_list'; updated_at: string; word_list: unknown; profile_id?: string | null; } /** * A reference pairing a sensitivity group with a specific level within that group. */ interface SensitivityLevel { group_id: string; level_id: string; } interface CustomEntry { id: string; created_at: string; /** * @deprecated */ enabled: boolean; name: string; pattern: CustomAPI.Pattern; type: 'custom'; updated_at: string; description?: string | null; /** * @deprecated */ profile_id?: string | null; } interface CustomPromptTopicEntry { id: string; created_at: string; /** * @deprecated */ enabled: boolean; name: string; type: 'custom_prompt_topic'; updated_at: string; } interface PredefinedEntry { id: string; confidence: PredefinedEntry.Confidence; enabled: boolean; name: string; type: 'predefined'; /** * @deprecated */ profile_id?: string | null; /** * A Predefined AI prompt classification topic entry. */ variant?: PredefinedEntry.UnionMember0 | PredefinedEntry.UnionMember1; } namespace PredefinedEntry { interface Confidence { /** * Indicates whether this entry has AI remote service validation. */ ai_context_available: boolean; /** * Indicates whether this entry has any form of validation that is not an AI remote * service. */ available: boolean; } /** * A Predefined AI prompt classification topic entry. */ interface UnionMember0 { topic_type: 'Intent' | 'Content'; type: 'PromptTopic'; /** * A customer-facing explanation of what this predefined AI prompt topic * represents. */ description?: string | null; } /** * A general predefined entry. */ interface UnionMember1 { type: 'General'; /** * A customer-facing explanation of what this predefined entry represents. */ description?: string | null; } } interface IntegrationEntry { id: string; created_at: string; enabled: boolean; name: string; type: 'integration'; updated_at: string; profile_id?: string | null; } interface ExactDataEntry { id: string; /** * Only applies to custom word lists. Determines if the words should be matched in * a case-sensitive manner Cannot be set to false if secret is true */ case_sensitive: boolean; created_at: string; enabled: boolean; name: string; secret: boolean; type: 'exact_data'; updated_at: string; } interface DocumentFingerprintEntry { id: string; created_at: string; enabled: boolean; name: string; type: 'document_fingerprint'; updated_at: string; } interface WordListEntry { id: string; created_at: string; enabled: boolean; name: string; type: 'word_list'; updated_at: string; word_list: unknown; profile_id?: string | null; } } export interface Pattern { regex: string; /** * @deprecated */ validation?: 'luhn'; } export interface PatternParam { regex: string; /** * @deprecated */ validation?: 'luhn'; } export type CustomDeleteResponse = unknown; export interface CustomCreateParams { /** * Path param */ account_id: string; /** * Body param */ name: string; /** * Body param */ ai_context_enabled?: boolean; /** * Body param: Related DLP policies will trigger when the match count exceeds the * number set. */ allowed_match_count?: number; /** * Body param */ confidence_threshold?: string | null; /** * @deprecated Body param: Scan the context of predefined entries to only return * matches surrounded by keywords. */ context_awareness?: ProfilesAPI.ContextAwarenessParam; /** * Body param: Data class IDs to associate with the profile. */ data_classes?: Array; /** * Body param: Data tag IDs to associate with the profile. */ data_tags?: Array; /** * Body param: The description of the profile. */ description?: string | null; /** * Body param */ entries?: Array; /** * Body param */ ocr_enabled?: boolean; /** * Body param: Sensitivity levels to associate with the profile. */ sensitivity_levels?: Array; /** * Body param: Entries from other profiles (e.g. pre-defined Cloudflare profiles, * or your Microsoft Information Protection profiles). */ shared_entries?: Array; } export declare namespace CustomCreateParams { interface DLPNewCustomEntry { enabled: boolean; name: string; pattern: CustomAPI.PatternParam; description?: string | null; } interface DLPNewWordListEntry { enabled: boolean; name: string; words: Array; } /** * A reference pairing a sensitivity group with a specific level within that group. */ interface SensitivityLevel { group_id: string; level_id: string; } interface SharedEntry { enabled: boolean; entry_id: string; } } export interface CustomUpdateParams { /** * Path param */ account_id: string; /** * Body param */ name: string; /** * Body param */ ai_context_enabled?: boolean; /** * Body param */ allowed_match_count?: number | null; /** * Body param */ confidence_threshold?: string | null; /** * @deprecated Body param: Scan the context of predefined entries to only return * matches surrounded by keywords. */ context_awareness?: ProfilesAPI.ContextAwarenessParam; /** * Body param: Data class IDs to associate with the profile. If omitted, existing * associations are unchanged. */ data_classes?: Array | null; /** * Body param: Data tag IDs to associate with the profile. If omitted, existing * associations are unchanged. */ data_tags?: Array | null; /** * Body param: The description of the profile. */ description?: string | null; /** * @deprecated Body param: Custom entries from this profile. If this field is * omitted, entries owned by this profile will not be changed. */ entries?: Array | null; /** * Body param */ ocr_enabled?: boolean; /** * Body param: Sensitivity levels to associate with the profile. If omitted, * existing associations are unchanged. */ sensitivity_levels?: Array | null; /** * Body param: Other entries, e.g. predefined or integration. */ shared_entries?: Array; } export declare namespace CustomUpdateParams { interface DLPNewCustomEntryWithID { enabled: boolean; entry_id: string; name: string; pattern: CustomAPI.PatternParam; description?: string | null; } interface DLPNewCustomEntry { enabled: boolean; name: string; pattern: CustomAPI.PatternParam; description?: string | null; } /** * A reference pairing a sensitivity group with a specific level within that group. */ interface SensitivityLevel { group_id: string; level_id: string; } interface SharedEntry { enabled: boolean; entry_id: string; } } export interface CustomDeleteParams { account_id: string; } export interface CustomGetParams { account_id: string; } export declare namespace Custom { export { type CustomProfile as CustomProfile, type Pattern as Pattern, type CustomDeleteResponse as CustomDeleteResponse, type CustomCreateParams as CustomCreateParams, type CustomUpdateParams as CustomUpdateParams, type CustomDeleteParams as CustomDeleteParams, type CustomGetParams as CustomGetParams, }; } //# sourceMappingURL=custom.d.ts.map