import { APIResource } from "../../../core/resource.js";
import { APIPromise } from "../../../core/api-promise.js";
import { RequestOptions } from "../../../internal/request-options.js";
export declare class BasePreview extends APIResource {
    static readonly _key: readonly ['emailSecurity', 'investigate', 'preview'];
    /**
     * Generates a preview image for a message that was not flagged as a detection. The
     * message is rendered from the copy in the recipient's mailbox, so this requires
     * an active integration and only works while the message is still in the
     * recipient's inbox. Returns a base64-encoded PNG screenshot of the email body.
     * For messages with a detection, use the detection preview endpoint instead.
     *
     * @example
     * ```ts
     * const preview =
     *   await client.emailSecurity.investigate.preview.create({
     *     account_id: '023e105f4ecef8ad9ca31a8372d0c353',
     *     id: '4Njp3P0STMz2c02Q-2024-01-05T10:00:00-12345678',
     *   });
     * ```
     */
    create(params: PreviewCreateParams, options?: RequestOptions): APIPromise<PreviewCreateResponse>;
    /**
     * Returns a preview of the message body as a base64-encoded PNG image for any
     * message with a detection. For messages without a detection, use the
     * non-detection preview endpoint instead.
     *
     * @example
     * ```ts
     * const preview =
     *   await client.emailSecurity.investigate.preview.get(
     *     '4Njp3P0STMz2c02Q-2024-01-05T10:00:00-12345678',
     *     { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
     *   );
     * ```
     */
    get(investigateID: string, params: PreviewGetParams, options?: RequestOptions): APIPromise<PreviewGetResponse>;
}
export declare class Preview extends BasePreview {
}
export interface PreviewCreateResponse {
    /**
     * A base64 encoded PNG image of the email.
     */
    screenshot: string;
}
export interface PreviewGetResponse {
    /**
     * A base64 encoded PNG image of the email.
     */
    screenshot: string;
}
export interface PreviewCreateParams {
    /**
     * Path param: Account identifier tag.
     */
    account_id: string;
    /**
     * Body param: Unique identifier for a message retrieved from investigation.
     */
    id: string;
}
export interface PreviewGetParams {
    /**
     * Account identifier tag.
     */
    account_id: string;
}
export declare namespace Preview {
    export { type PreviewCreateResponse as PreviewCreateResponse, type PreviewGetResponse as PreviewGetResponse, type PreviewCreateParams as PreviewCreateParams, type PreviewGetParams as PreviewGetParams, };
}
//# sourceMappingURL=preview.d.ts.map