import { APIResource } from "../../core/resource.mjs"; import { APIPromise } from "../../core/api-promise.mjs"; import { RequestOptions } from "../../internal/request-options.mjs"; export declare class BaseCsamScanner extends APIResource { static readonly _key: readonly ['csamScanner']; /** * Update the CSAM Scanner configuration for a zone. Allows enabling or disabling * CSAM scanning, updating the notification email, and configuring scanning * sources. * * When a new email is provided, email verification is triggered automatically. The * `enabled` field is a toggle; the server may adjust it based on whether the * notification email is verified. * * Returns 403 if the zone or account is locked by Trust & Safety. * * @example * ```ts * const response = await client.csamScanner.edit({ * zone_id: '023e105f4ecef8ad9ca31a8372d0c353', * }); * ``` */ edit(params: CsamScannerEditParams, options?: RequestOptions): APIPromise; /** * Retrieve the current CSAM Scanner configuration for a zone. * * The notification email is masked by default in responses. * * @example * ```ts * const csamScanner = await client.csamScanner.get({ * zone_id: '023e105f4ecef8ad9ca31a8372d0c353', * }); * ``` */ get(params: CsamScannerGetParams, options?: RequestOptions): APIPromise; } export declare class CsamScanner extends BaseCsamScanner { } /** * CSAM Scanner configuration for a zone. */ export interface CsamScannerEditResponse { /** * The feature identifier. */ id?: 'csam_scanner'; /** * Whether the feature state can be changed. When false, the zone or account may be * locked by Trust & Safety. */ editable?: boolean; /** * When the setting was last modified. Currently always null as the server does not * populate this field. */ modified_on?: string | null; /** * The CSAM Scanner feature configuration values. Contains the notification email * and scanning enablement settings. */ value?: CsamScannerEditResponse.Value; } export declare namespace CsamScannerEditResponse { /** * The CSAM Scanner feature configuration values. Contains the notification email * and scanning enablement settings. */ interface Value { /** * Notification email address for CSAM scan results. Masked in responses unless * explicitly unmasked via admin endpoint. */ email?: string; /** * Current verification state of the notification email. */ email_state?: 'valid' | 'pending' | 'unverified'; /** * Whether CSAM scanning is enabled for this zone. */ enabled?: boolean; /** * Map of scanning sources and their enabled state. */ sources?: { [key: string]: boolean; }; /** * The zone's plan level. */ zone_plan?: string; } } /** * CSAM Scanner configuration for a zone. */ export interface CsamScannerGetResponse { /** * The feature identifier. */ id?: 'csam_scanner'; /** * Whether the feature state can be changed. When false, the zone or account may be * locked by Trust & Safety. */ editable?: boolean; /** * When the setting was last modified. Currently always null as the server does not * populate this field. */ modified_on?: string | null; /** * The CSAM Scanner feature configuration values. Contains the notification email * and scanning enablement settings. */ value?: CsamScannerGetResponse.Value; } export declare namespace CsamScannerGetResponse { /** * The CSAM Scanner feature configuration values. Contains the notification email * and scanning enablement settings. */ interface Value { /** * Notification email address for CSAM scan results. Masked in responses unless * explicitly unmasked via admin endpoint. */ email?: string; /** * Current verification state of the notification email. */ email_state?: 'valid' | 'pending' | 'unverified'; /** * Whether CSAM scanning is enabled for this zone. */ enabled?: boolean; /** * Map of scanning sources and their enabled state. */ sources?: { [key: string]: boolean; }; /** * The zone's plan level. */ zone_plan?: string; } } export interface CsamScannerEditParams { /** * Path param: Identifier for the zone. */ zone_id: string; /** * Body param: The feature identifier. */ id?: 'csam_scanner'; /** * Body param: Writable CSAM Scanner feature configuration values. */ value?: CsamScannerEditParams.Value; } export declare namespace CsamScannerEditParams { /** * Writable CSAM Scanner feature configuration values. */ interface Value { /** * Notification email address for CSAM scan results. When changed, email * verification is triggered automatically. */ email?: string; /** * Whether CSAM scanning is enabled for this zone. */ enabled?: boolean; /** * Set to true to trigger re-sending the email verification. Write-only; never * appears in responses (omitted when false). */ resend_email?: boolean; /** * Map of scanning sources and their enabled state. */ sources?: { [key: string]: boolean; }; } } export interface CsamScannerGetParams { /** * Identifier for the zone. */ zone_id: string; } export declare namespace CsamScanner { export { type CsamScannerEditResponse as CsamScannerEditResponse, type CsamScannerGetResponse as CsamScannerGetResponse, type CsamScannerEditParams as CsamScannerEditParams, type CsamScannerGetParams as CsamScannerGetParams, }; } //# sourceMappingURL=csam-scanner.d.mts.map