import { APIResource } from "../../../core/resource.js"; import { APIPromise } from "../../../core/api-promise.js"; import { RequestOptions } from "../../../internal/request-options.js"; export declare class BaseSnapshots extends APIResource { static readonly _key: readonly ['intel', 'indicatorFeeds', 'snapshots']; /** * Revises the raw data entries in a custom threat indicator feed. * * Accepts both plain and gzipped STIX2/CRDF bodies. Gzip is detected by RFC 1952 * magic bytes (`0x1f 0x8b`) and/or a `.gz` filename suffix (case-insensitive) — * either signal alone is sufficient to trigger the gzip path; if the body is not * valid gzip, the upload fails fast. Customers are encouraged to gzip larger * uploads — the api-gateway 500 MB body cap applies to the on-the-wire * (compressed) size, so gzip lets a single upload carry several GiB of * decompressed STIX. * * @example * ```ts * const snapshot = * await client.intel.indicatorFeeds.snapshots.update(12, { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * }); * ``` */ update(feedID: number, params: SnapshotUpdateParams, options?: RequestOptions): APIPromise; } export declare class Snapshots extends BaseSnapshots { } export interface SnapshotUpdateResponse { /** * Feed id */ file_id?: number; /** * Name of the file unified in our system */ filename?: string; /** * Account-relative polling path. Prepend `/accounts/{account_id}` using the same * account identifier and API host as the upload request. The path omits the * account segment because the service does not have your account identifier in * this context. */ poll_url?: string; /** * Current status of the upload at the moment the request returned. This is NOT a * terminal state: the file is unified inline, but the durable loader has only * accepted it, so the upload is still `Unifying`. Poll `poll_url` until the status * reaches a terminal value (`Unified` or `Error`). */ status?: string; /** * Identifier of the upload row, for polling this upload to a terminal state via * `poll_url`. */ upload_id?: number; } export interface SnapshotUpdateParams { /** * Path param: Identifier */ account_id: string; /** * Body param: The file to upload. Either a plain STIX2/CRDF body or a gzipped one * (recognised by `0x1f 0x8b` magic bytes or a `.gz` filename suffix). */ source?: string; /** * Header param: Set to the literal value `1` to enqueue the upload and receive a * `202` response with a polling URL. Any other value uses the legacy synchronous * response. */ 'Cf-Async-Upload'?: '1'; } export declare namespace Snapshots { export { type SnapshotUpdateResponse as SnapshotUpdateResponse, type SnapshotUpdateParams as SnapshotUpdateParams, }; } //# sourceMappingURL=snapshots.d.ts.map