/**
 * Cloudflare SECURITY-CENTER API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service security-center
 */
import * as Schema from "effect/Schema";
import type * as HttpClient from "effect/unstable/http/HttpClient";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import { type DefaultErrors } from "../errors.ts";
interface ListByInsightInsightAuditLogBaseRequest {
    issueId: string;
}
export interface ListByInsightInsightAuditLogForAccountRequest extends ListByInsightInsightAuditLogBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface ListByInsightInsightAuditLogForZoneRequest extends ListByInsightInsightAuditLogBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const ListByInsightInsightAuditLogForAccountRequest: Schema.Schema<ListByInsightInsightAuditLogForAccountRequest>;
export declare const ListByInsightInsightAuditLogForZoneRequest: Schema.Schema<ListByInsightInsightAuditLogForZoneRequest>;
export interface ListByInsightInsightAuditLogResponse {
    result: {
        id?: string | null;
        changedAt?: string | null;
        changedBy?: string | null;
        currentValue?: string | null;
        fieldChanged?: "status" | "user_classification" | (string & {}) | null;
        issueId?: string | null;
        previousValue?: string | null;
        rationale?: string | null;
        zoneId?: number | null;
    }[];
    resultInfo?: {
        count?: number | null;
        cursor?: string | null;
        perPage?: number | null;
    } | null;
}
export declare const ListByInsightInsightAuditLogResponse: Schema.Schema<ListByInsightInsightAuditLogResponse>;
export type ListByInsightInsightAuditLogError = DefaultErrors;
export declare const listByInsightInsightAuditLogForAccount: API.PaginatedOperationMethod<ListByInsightInsightAuditLogForAccountRequest, ListByInsightInsightAuditLogResponse, ListByInsightInsightAuditLogError, Credentials | HttpClient.HttpClient>;
export declare const listByInsightInsightAuditLogForZone: API.PaginatedOperationMethod<ListByInsightInsightAuditLogForZoneRequest, ListByInsightInsightAuditLogResponse, ListByInsightInsightAuditLogError, Credentials | HttpClient.HttpClient>;
interface ListInsightsBaseRequest {
}
export interface ListInsightsForAccountRequest extends ListInsightsBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface ListInsightsForZoneRequest extends ListInsightsBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const ListInsightsForAccountRequest: Schema.Schema<ListInsightsForAccountRequest>;
export declare const ListInsightsForZoneRequest: Schema.Schema<ListInsightsForZoneRequest>;
export interface ListInsightsResponse {
    result: {
        items?: {
            count?: number | null;
            issues?: {
                id?: string | null;
                dismissed?: boolean | null;
                hasExtendedContext?: boolean | null;
                issueClass?: string | null;
                issueType?: "compliance_violation" | "email_security" | "exposed_infrastructure" | "insecure_configuration" | "weak_authentication" | "configuration_suggestion" | (string & {}) | null;
                payload?: {
                    detectionMethod?: string | null;
                    zoneTag?: string | null;
                } | null;
                resolveLink?: string | null;
                resolveText?: string | null;
                severity?: "Low" | "Moderate" | "Critical" | (string & {}) | null;
                since?: string | null;
                status?: "active" | "resolved" | (string & {}) | null;
                subject?: string | null;
                timestamp?: string | null;
                userClassification?: "false_positive" | "accept_risk" | "other" | null;
            }[] | null;
            page?: number | null;
            perPage?: number | null;
        }[] | null;
    };
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListInsightsResponse: Schema.Schema<ListInsightsResponse>;
export type ListInsightsError = DefaultErrors;
export declare const listInsightsForAccount: API.PaginatedOperationMethod<ListInsightsForAccountRequest, ListInsightsResponse, ListInsightsError, Credentials | HttpClient.HttpClient>;
export declare const listInsightsForZone: API.PaginatedOperationMethod<ListInsightsForZoneRequest, ListInsightsResponse, ListInsightsError, Credentials | HttpClient.HttpClient>;
interface DismissInsightBaseRequest {
    issueId: string;
    /** Body param */
    dismiss?: boolean;
}
export interface DismissInsightForAccountRequest extends DismissInsightBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface DismissInsightForZoneRequest extends DismissInsightBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const DismissInsightForAccountRequest: Schema.Schema<DismissInsightForAccountRequest>;
export declare const DismissInsightForZoneRequest: Schema.Schema<DismissInsightForZoneRequest>;
export interface DismissInsightResponse {
    errors: {
        code: number;
        message: string;
        documentationUrl?: string | null;
        source?: {
            pointer?: string | null;
        } | null;
    }[];
    messages: {
        code: number;
        message: string;
        documentationUrl?: string | null;
        source?: {
            pointer?: string | null;
        } | null;
    }[];
    /** Whether the API call was successful. */
    success: true;
}
export declare const DismissInsightResponse: Schema.Schema<DismissInsightResponse>;
export type DismissInsightError = DefaultErrors;
export declare const dismissInsightForAccount: API.OperationMethod<DismissInsightForAccountRequest, DismissInsightResponse, DismissInsightError, Credentials | HttpClient.HttpClient>;
export declare const dismissInsightForZone: API.OperationMethod<DismissInsightForZoneRequest, DismissInsightResponse, DismissInsightError, Credentials | HttpClient.HttpClient>;
interface ListInsightAuditLogsBaseRequest {
}
export interface ListInsightAuditLogsForAccountRequest extends ListInsightAuditLogsBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface ListInsightAuditLogsForZoneRequest extends ListInsightAuditLogsBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const ListInsightAuditLogsForAccountRequest: Schema.Schema<ListInsightAuditLogsForAccountRequest>;
export declare const ListInsightAuditLogsForZoneRequest: Schema.Schema<ListInsightAuditLogsForZoneRequest>;
export interface ListInsightAuditLogsResponse {
    result: {
        id?: string | null;
        changedAt?: string | null;
        changedBy?: string | null;
        currentValue?: string | null;
        fieldChanged?: "status" | "user_classification" | (string & {}) | null;
        issueId?: string | null;
        previousValue?: string | null;
        rationale?: string | null;
        zoneId?: number | null;
    }[];
    resultInfo?: {
        count?: number | null;
        cursor?: string | null;
        perPage?: number | null;
    } | null;
}
export declare const ListInsightAuditLogsResponse: Schema.Schema<ListInsightAuditLogsResponse>;
export type ListInsightAuditLogsError = DefaultErrors;
export declare const listInsightAuditLogsForAccount: API.PaginatedOperationMethod<ListInsightAuditLogsForAccountRequest, ListInsightAuditLogsResponse, ListInsightAuditLogsError, Credentials | HttpClient.HttpClient>;
export declare const listInsightAuditLogsForZone: API.PaginatedOperationMethod<ListInsightAuditLogsForZoneRequest, ListInsightAuditLogsResponse, ListInsightAuditLogsError, Credentials | HttpClient.HttpClient>;
interface GetInsightClassBaseRequest {
}
export interface GetInsightClassForAccountRequest extends GetInsightClassBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface GetInsightClassForZoneRequest extends GetInsightClassBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const GetInsightClassForAccountRequest: Schema.Schema<GetInsightClassForAccountRequest>;
export declare const GetInsightClassForZoneRequest: Schema.Schema<GetInsightClassForZoneRequest>;
export type GetInsightClassResponse = {
    count?: number | null;
    value?: string | null;
}[];
export declare const GetInsightClassResponse: Schema.Schema<GetInsightClassResponse>;
export type GetInsightClassError = DefaultErrors;
export declare const getInsightClassForAccount: API.OperationMethod<GetInsightClassForAccountRequest, GetInsightClassResponse, GetInsightClassError, Credentials | HttpClient.HttpClient>;
export declare const getInsightClassForZone: API.OperationMethod<GetInsightClassForZoneRequest, GetInsightClassResponse, GetInsightClassError, Credentials | HttpClient.HttpClient>;
interface PatchInsightClassificationBaseRequest {
    issueId: string;
    /** Body param: User-defined classification for the insight. Can be 'false_positive', 'accept_risk', 'other', or null. */
    classification?: "false_positive" | "accept_risk" | "other" | null;
    /** Body param: Rationale for the classification change. Required when classification is 'accept_risk' or 'other'. */
    rationale?: string;
}
export interface PatchInsightClassificationForAccountRequest extends PatchInsightClassificationBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface PatchInsightClassificationForZoneRequest extends PatchInsightClassificationBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const PatchInsightClassificationForAccountRequest: Schema.Schema<PatchInsightClassificationForAccountRequest>;
export declare const PatchInsightClassificationForZoneRequest: Schema.Schema<PatchInsightClassificationForZoneRequest>;
export interface PatchInsightClassificationResponse {
    errors: {
        code: number;
        message: string;
        documentationUrl?: string | null;
        source?: {
            pointer?: string | null;
        } | null;
    }[];
    messages: {
        code: number;
        message: string;
        documentationUrl?: string | null;
        source?: {
            pointer?: string | null;
        } | null;
    }[];
    /** Whether the API call was successful. */
    success: true;
}
export declare const PatchInsightClassificationResponse: Schema.Schema<PatchInsightClassificationResponse>;
export type PatchInsightClassificationError = DefaultErrors;
export declare const patchInsightClassificationForAccount: API.OperationMethod<PatchInsightClassificationForAccountRequest, PatchInsightClassificationResponse, PatchInsightClassificationError, Credentials | HttpClient.HttpClient>;
export declare const patchInsightClassificationForZone: API.OperationMethod<PatchInsightClassificationForZoneRequest, PatchInsightClassificationResponse, PatchInsightClassificationError, Credentials | HttpClient.HttpClient>;
export interface GetInsightContextRequest {
    issueId: string;
    /** Identifier. */
    accountId: string;
}
export declare const GetInsightContextRequest: Schema.Schema<GetInsightContextRequest>;
export type GetInsightContextResponse = Record<string, unknown>;
export declare const GetInsightContextResponse: Schema.Schema<GetInsightContextResponse>;
export type GetInsightContextError = DefaultErrors;
export declare const getInsightContext: API.OperationMethod<GetInsightContextRequest, GetInsightContextResponse, GetInsightContextError, Credentials | HttpClient.HttpClient>;
interface GetInsightSeverityBaseRequest {
}
export interface GetInsightSeverityForAccountRequest extends GetInsightSeverityBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface GetInsightSeverityForZoneRequest extends GetInsightSeverityBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const GetInsightSeverityForAccountRequest: Schema.Schema<GetInsightSeverityForAccountRequest>;
export declare const GetInsightSeverityForZoneRequest: Schema.Schema<GetInsightSeverityForZoneRequest>;
export type GetInsightSeverityResponse = {
    count?: number | null;
    value?: string | null;
}[];
export declare const GetInsightSeverityResponse: Schema.Schema<GetInsightSeverityResponse>;
export type GetInsightSeverityError = DefaultErrors;
export declare const getInsightSeverityForAccount: API.OperationMethod<GetInsightSeverityForAccountRequest, GetInsightSeverityResponse, GetInsightSeverityError, Credentials | HttpClient.HttpClient>;
export declare const getInsightSeverityForZone: API.OperationMethod<GetInsightSeverityForZoneRequest, GetInsightSeverityResponse, GetInsightSeverityError, Credentials | HttpClient.HttpClient>;
interface GetInsightTypeBaseRequest {
}
export interface GetInsightTypeForAccountRequest extends GetInsightTypeBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface GetInsightTypeForZoneRequest extends GetInsightTypeBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const GetInsightTypeForAccountRequest: Schema.Schema<GetInsightTypeForAccountRequest>;
export declare const GetInsightTypeForZoneRequest: Schema.Schema<GetInsightTypeForZoneRequest>;
export type GetInsightTypeResponse = {
    count?: number | null;
    value?: string | null;
}[];
export declare const GetInsightTypeResponse: Schema.Schema<GetInsightTypeResponse>;
export type GetInsightTypeError = DefaultErrors;
export declare const getInsightTypeForAccount: API.OperationMethod<GetInsightTypeForAccountRequest, GetInsightTypeResponse, GetInsightTypeError, Credentials | HttpClient.HttpClient>;
export declare const getInsightTypeForZone: API.OperationMethod<GetInsightTypeForZoneRequest, GetInsightTypeResponse, GetInsightTypeError, Credentials | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=security-center.d.ts.map