/**
 * Cloudflare EMAIL-SECURITY API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service email-security
 */
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";
export interface GetInvestigateRequest {
    investigateId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Query param: When true, search the submissions datastore only. When false or omitted, search the regular datastore only. */
    submission?: boolean;
}
export declare const GetInvestigateRequest: Schema.Schema<GetInvestigateRequest>;
export interface GetInvestigateResponse {
    /** Unique identifier for a message retrieved from investigation */
    id: string;
    /** @deprecated Deprecated, use `GET /investigate/{investigate_id}/action_log` instead. End of life: November 1, 2026. */
    actionLog: {
        completedAt: string;
        operation: "MOVE" | "RELEASE" | "RECLASSIFY" | "SUBMISSION" | "QUARANTINE_RELEASE" | "PREVIEW" | (string & {});
        completedTimestamp?: string | null;
        properties?: {
            folder?: string | null;
            requestedBy?: string | null;
        } | null;
        status?: string | null;
    }[];
    clientRecipients: string[];
    detectionReasons: string[];
    isPhishSubmission: boolean;
    isQuarantined: boolean;
    /** The identifier of the message */
    postfixId: string;
    /** Message processing properties */
    properties: {
        allowlistedPattern?: string | null;
        allowlistedPatternType?: "quarantine_release" | "acceptable_sender" | "allowed_sender" | "allowed_recipient" | "domain_similarity" | "domain_recency" | "managed_acceptable_sender" | "outbound_ndr" | null;
        blocklistedMessage?: boolean | null;
        blocklistedPattern?: string | null;
        whitelistedPatternType?: "quarantine_release" | "acceptable_sender" | "allowed_sender" | "allowed_recipient" | "domain_similarity" | "domain_recency" | "managed_acceptable_sender" | "outbound_ndr" | null;
    };
    /** @deprecated Deprecated, use `scanned_at` instead. End of life: November 1, 2026. */
    ts: string;
    alertId?: string | null;
    deliveryMode?: "DIRECT" | "BCC" | "JOURNAL" | "REVIEW_SUBMISSION" | "DMARC_UNVERIFIED" | "DMARC_FAILURE_REPORT" | "DMARC_AGGREGATE_REPORT" | "THREAT_INTEL_SUBMISSION" | "SIMULATION_SUBMISSION" | "API" | "RETRO_SCAN" | (string & {}) | null;
    deliveryStatus?: ("delivered" | "moved" | "quarantined" | "rejected" | "deferred" | "bounced" | "queued" | (string & {}))[] | null;
    edfHash?: string | null;
    envelopeFrom?: string | null;
    envelopeTo?: string[] | null;
    finalDisposition?: "MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | (string & {}) | null;
    /** @deprecated Deprecated, use the `findings` field from `GET /investigate/{investigate_id}/detections` instead. End of life: November 1, 2026. Detection findings for this message. */
    findings?: {
        attachment?: string | null;
        detail?: string | null;
        detection?: "MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | (string & {}) | null;
        field?: string | null;
        name?: string | null;
        portion?: string | null;
        reason?: string | null;
        score?: number | null;
        value?: string | null;
    }[] | null;
    from?: string | null;
    fromName?: string | null;
    htmltextStructureHash?: string | null;
    messageId?: string | null;
    /** Post-delivery operations performed on this message */
    postDeliveryOperations?: ("PREVIEW" | "QUARANTINE_RELEASE" | "SUBMISSION" | "MOVE" | (string & {}))[] | null;
    postfixIdOutbound?: string | null;
    replyto?: string | null;
    /** When the message was scanned (UTC) */
    scannedAt?: string | null;
    /** When the message was sent (UTC) */
    sentAt?: string | null;
    sentDate?: string | null;
    smtpHeloServerIp?: string | null;
    smtpPreviousHopIp?: string | null;
    subject?: string | null;
    threatCategories?: string[] | null;
    to?: string[] | null;
    toName?: string[] | null;
    validation?: {
        comment?: string | null;
        dkim?: "pass" | "neutral" | "fail" | "error" | "none" | (string & {}) | null;
        dmarc?: "pass" | "neutral" | "fail" | "error" | "none" | (string & {}) | null;
        spf?: "pass" | "neutral" | "fail" | "error" | "none" | (string & {}) | null;
    } | null;
    xOriginatingIp?: string | null;
}
export declare const GetInvestigateResponse: Schema.Schema<GetInvestigateResponse>;
export type GetInvestigateError = DefaultErrors;
export declare const getInvestigate: API.OperationMethod<GetInvestigateRequest, GetInvestigateResponse, GetInvestigateError, Credentials | HttpClient.HttpClient>;
export interface ListInvestigatesRequest {
    /** Path param: Identifier. */
    accountId: string;
    page?: number;
    perPage?: number;
    /** Query param: Whether to include the message action log in the response. */
    actionLog?: boolean;
    /** Query param */
    alertId?: string;
    /** Query param */
    cursor?: string;
    /** Query param: Delivery status to filter by. */
    deliveryStatus?: "delivered" | "moved" | "quarantined" | "rejected" | "deferred" | "bounced" | "queued" | (string & {});
    /** Query param: Whether to include only detections in search results. */
    detectionsOnly?: boolean;
    /** Query param: Sender domains to filter by. */
    domain?: string;
    /** Query param: The end of the search date range. Defaults to `now`. */
    end?: string;
    /** Query param: Dispositions to filter by. */
    finalDisposition?: "MALICIOUS" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "NONE" | (string & {});
    /** Query param: Message actions to filter by. */
    messageAction?: "PREVIEW" | "QUARANTINE_RELEASED" | "MOVED" | (string & {});
    /** Query param */
    messageId?: string;
    /** Query param */
    metric?: string;
    /** Query param: Space-delimited search term. Case-insensitive. */
    query?: string;
    /** Query param */
    recipient?: string;
    /** Query param */
    sender?: string;
    /** Query param: The beginning of the search date range. Defaults to `now - 30 days`. */
    start?: string;
    /** Query param */
    subject?: string;
}
export declare const ListInvestigatesRequest: Schema.Schema<ListInvestigatesRequest>;
export interface ListInvestigatesResponse {
    result: {
        id: string;
        actionLog: {
            completedAt: string;
            operation: "MOVE" | "RELEASE" | "RECLASSIFY" | "SUBMISSION" | "QUARANTINE_RELEASE" | "PREVIEW" | (string & {});
            completedTimestamp?: string | null;
            properties?: {
                folder?: string | null;
                requestedBy?: string | null;
            } | null;
            status?: string | null;
        }[];
        clientRecipients: string[];
        detectionReasons: string[];
        isPhishSubmission: boolean;
        isQuarantined: boolean;
        postfixId: string;
        properties: {
            allowlistedPattern?: string | null;
            allowlistedPatternType?: "quarantine_release" | "acceptable_sender" | "allowed_sender" | "allowed_recipient" | "domain_similarity" | "domain_recency" | "managed_acceptable_sender" | "outbound_ndr" | null;
            blocklistedMessage?: boolean | null;
            blocklistedPattern?: string | null;
            whitelistedPatternType?: "quarantine_release" | "acceptable_sender" | "allowed_sender" | "allowed_recipient" | "domain_similarity" | "domain_recency" | "managed_acceptable_sender" | "outbound_ndr" | null;
        };
        ts: string;
        alertId?: string | null;
        deliveryMode?: "DIRECT" | "BCC" | "JOURNAL" | "REVIEW_SUBMISSION" | "DMARC_UNVERIFIED" | "DMARC_FAILURE_REPORT" | "DMARC_AGGREGATE_REPORT" | "THREAT_INTEL_SUBMISSION" | "SIMULATION_SUBMISSION" | "API" | "RETRO_SCAN" | (string & {}) | null;
        deliveryStatus?: ("delivered" | "moved" | "quarantined" | "rejected" | "deferred" | "bounced" | "queued" | (string & {}))[] | null;
        edfHash?: string | null;
        envelopeFrom?: string | null;
        envelopeTo?: string[] | null;
        finalDisposition?: "MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | (string & {}) | null;
        findings?: {
            attachment?: string | null;
            detail?: string | null;
            detection?: "MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | (string & {}) | null;
            field?: string | null;
            name?: string | null;
            portion?: string | null;
            reason?: string | null;
            score?: number | null;
            value?: string | null;
        }[] | null;
        from?: string | null;
        fromName?: string | null;
        htmltextStructureHash?: string | null;
        messageId?: string | null;
        postDeliveryOperations?: ("PREVIEW" | "QUARANTINE_RELEASE" | "SUBMISSION" | "MOVE" | (string & {}))[] | null;
        postfixIdOutbound?: string | null;
        replyto?: string | null;
        scannedAt?: string | null;
        sentAt?: string | null;
        sentDate?: string | null;
        smtpHeloServerIp?: string | null;
        smtpPreviousHopIp?: string | null;
        subject?: string | null;
        threatCategories?: string[] | null;
        to?: string[] | null;
        toName?: string[] | null;
        validation?: {
            comment?: string | null;
            dkim?: "pass" | "neutral" | "fail" | "error" | "none" | (string & {}) | null;
            dmarc?: "pass" | "neutral" | "fail" | "error" | "none" | (string & {}) | null;
            spf?: "pass" | "neutral" | "fail" | "error" | "none" | (string & {}) | null;
        } | null;
        xOriginatingIp?: string | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListInvestigatesResponse: Schema.Schema<ListInvestigatesResponse>;
export type ListInvestigatesError = DefaultErrors;
export declare const listInvestigates: API.PaginatedOperationMethod<ListInvestigatesRequest, ListInvestigatesResponse, ListInvestigatesError, Credentials | HttpClient.HttpClient>;
export interface GetInvestigateDetectionRequest {
    investigateId: string;
    /** Identifier. */
    accountId: string;
}
export declare const GetInvestigateDetectionRequest: Schema.Schema<GetInvestigateDetectionRequest>;
export interface GetInvestigateDetectionResponse {
    action: string;
    attachments: {
        size: number;
        contentType?: string | null;
        detection?: "MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | null;
        encrypted?: boolean | null;
        filename?: string | null;
        md5?: string | null;
        name?: string | null;
        sha1?: string | null;
        sha256?: string | null;
    }[];
    findings: {
        attachment?: string | null;
        detail?: string | null;
        detection?: "MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | (string & {}) | null;
        field?: string | null;
        name?: string | null;
        portion?: string | null;
        reason?: string | null;
        score?: number | null;
        value?: string | null;
    }[] | null;
    headers: {
        name: string;
        value: string;
    }[];
    links: {
        href: string;
        text?: string | null;
    }[];
    senderInfo: {
        asName?: string | null;
        asNumber?: number | null;
        geo?: string | null;
        ip?: string | null;
        pld?: string | null;
    };
    threatCategories: {
        id?: number | null;
        description?: string | null;
        name?: string | null;
    }[];
    validation: {
        comment?: string | null;
        dkim?: "pass" | "neutral" | "fail" | "error" | "none" | (string & {}) | null;
        dmarc?: "pass" | "neutral" | "fail" | "error" | "none" | (string & {}) | null;
        spf?: "pass" | "neutral" | "fail" | "error" | "none" | (string & {}) | null;
    };
    finalDisposition?: "MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | (string & {}) | null;
}
export declare const GetInvestigateDetectionResponse: Schema.Schema<GetInvestigateDetectionResponse>;
export type GetInvestigateDetectionError = DefaultErrors;
export declare const getInvestigateDetection: API.OperationMethod<GetInvestigateDetectionRequest, GetInvestigateDetectionResponse, GetInvestigateDetectionError, Credentials | HttpClient.HttpClient>;
export interface CreateInvestigateMoveRequest {
    investigateId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Body param */
    destination: "Inbox" | "JunkEmail" | "DeletedItems" | "RecoverableItemsDeletions" | "RecoverableItemsPurges" | (string & {});
}
export declare const CreateInvestigateMoveRequest: Schema.Schema<CreateInvestigateMoveRequest>;
export interface CreateInvestigateMoveResponse {
    result: {
        success: boolean;
        completedAt?: string | null;
        completedTimestamp?: string | null;
        destination?: string | null;
        itemCount?: number | null;
        messageId?: string | null;
        operation?: string | null;
        recipient?: string | null;
        status?: string | null;
    }[];
}
export declare const CreateInvestigateMoveResponse: Schema.Schema<CreateInvestigateMoveResponse>;
export type CreateInvestigateMoveError = DefaultErrors;
export declare const createInvestigateMove: API.PaginatedOperationMethod<CreateInvestigateMoveRequest, CreateInvestigateMoveResponse, CreateInvestigateMoveError, Credentials | HttpClient.HttpClient>;
export interface BulkInvestigateMoveRequest {
    /** Path param: Identifier. */
    accountId: string;
    /** @deprecated Body param: Deprecated, use `ids` instead. End of life: November 1, 2026. List of message IDs to move. */
    postfixIds?: string[];
    /** Body param */
    destination: "Inbox" | "JunkEmail" | "DeletedItems" | "RecoverableItemsDeletions" | "RecoverableItemsPurges" | (string & {});
    /** Body param: List of message IDs to move */
    ids?: string[];
}
export declare const BulkInvestigateMoveRequest: Schema.Schema<BulkInvestigateMoveRequest>;
export interface BulkInvestigateMoveResponse {
    result: {
        success: boolean;
        completedAt?: string | null;
        completedTimestamp?: string | null;
        destination?: string | null;
        itemCount?: number | null;
        messageId?: string | null;
        operation?: string | null;
        recipient?: string | null;
        status?: string | null;
    }[];
}
export declare const BulkInvestigateMoveResponse: Schema.Schema<BulkInvestigateMoveResponse>;
export type BulkInvestigateMoveError = DefaultErrors;
export declare const bulkInvestigateMove: API.PaginatedOperationMethod<BulkInvestigateMoveRequest, BulkInvestigateMoveResponse, BulkInvestigateMoveError, Credentials | HttpClient.HttpClient>;
export interface GetInvestigatePreviewRequest {
    investigateId: string;
    /** Identifier. */
    accountId: string;
}
export declare const GetInvestigatePreviewRequest: Schema.Schema<GetInvestigatePreviewRequest>;
export interface GetInvestigatePreviewResponse {
    /** A base64 encoded PNG image of the email. */
    screenshot: string;
}
export declare const GetInvestigatePreviewResponse: Schema.Schema<GetInvestigatePreviewResponse>;
export type GetInvestigatePreviewError = DefaultErrors;
export declare const getInvestigatePreview: API.OperationMethod<GetInvestigatePreviewRequest, GetInvestigatePreviewResponse, GetInvestigatePreviewError, Credentials | HttpClient.HttpClient>;
export interface CreateInvestigatePreviewRequest {
    /** Path param: Identifier. */
    accountId: string;
    /** Body param: The identifier of the message */
    postfixId: string;
}
export declare const CreateInvestigatePreviewRequest: Schema.Schema<CreateInvestigatePreviewRequest>;
export interface CreateInvestigatePreviewResponse {
    /** A base64 encoded PNG image of the email. */
    screenshot: string;
}
export declare const CreateInvestigatePreviewResponse: Schema.Schema<CreateInvestigatePreviewResponse>;
export type CreateInvestigatePreviewError = DefaultErrors;
export declare const createInvestigatePreview: API.OperationMethod<CreateInvestigatePreviewRequest, CreateInvestigatePreviewResponse, CreateInvestigatePreviewError, Credentials | HttpClient.HttpClient>;
export interface GetInvestigateRawRequest {
    investigateId: string;
    /** Identifier. */
    accountId: string;
}
export declare const GetInvestigateRawRequest: Schema.Schema<GetInvestigateRawRequest>;
export interface GetInvestigateRawResponse {
    /** A UTF-8 encoded eml file of the email. */
    raw: string;
}
export declare const GetInvestigateRawResponse: Schema.Schema<GetInvestigateRawResponse>;
export type GetInvestigateRawError = DefaultErrors;
export declare const getInvestigateRaw: API.OperationMethod<GetInvestigateRawRequest, GetInvestigateRawResponse, GetInvestigateRawError, Credentials | HttpClient.HttpClient>;
export interface CreateInvestigateReclassifyRequest {
    investigateId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Body param */
    expectedDisposition: "NONE" | "BULK" | "MALICIOUS" | "SPAM" | "SPOOF" | "SUSPICIOUS" | (string & {});
    /** Body param: Base64 encoded content of the EML file. */
    emlContent?: string;
    /** Body param */
    escalatedSubmissionId?: string;
}
export declare const CreateInvestigateReclassifyRequest: Schema.Schema<CreateInvestigateReclassifyRequest>;
export type CreateInvestigateReclassifyResponse = unknown;
export declare const CreateInvestigateReclassifyResponse: Schema.Schema<CreateInvestigateReclassifyResponse>;
export type CreateInvestigateReclassifyError = DefaultErrors;
export declare const createInvestigateReclassify: API.OperationMethod<CreateInvestigateReclassifyRequest, CreateInvestigateReclassifyResponse, CreateInvestigateReclassifyError, Credentials | HttpClient.HttpClient>;
export interface BulkInvestigateReleaseRequest {
    /** Path param: Identifier. */
    accountId: string;
    /** Body param */
    body: string[];
}
export declare const BulkInvestigateReleaseRequest: Schema.Schema<BulkInvestigateReleaseRequest>;
export interface BulkInvestigateReleaseResponse {
    result: {
        id: string;
        delivered?: string[] | null;
        failed?: string[] | null;
        postfixId?: string | null;
        undelivered?: string[] | null;
    }[];
}
export declare const BulkInvestigateReleaseResponse: Schema.Schema<BulkInvestigateReleaseResponse>;
export type BulkInvestigateReleaseError = DefaultErrors;
export declare const bulkInvestigateRelease: API.PaginatedOperationMethod<BulkInvestigateReleaseRequest, BulkInvestigateReleaseResponse, BulkInvestigateReleaseError, Credentials | HttpClient.HttpClient>;
export interface GetInvestigateTraceRequest {
    investigateId: string;
    /** Identifier. */
    accountId: string;
}
export declare const GetInvestigateTraceRequest: Schema.Schema<GetInvestigateTraceRequest>;
export interface GetInvestigateTraceResponse {
    inbound: {
        lines?: {
            lineno?: number | null;
            loggedAt?: string | null;
            message?: string | null;
            ts?: string | null;
        }[] | null;
        pending?: boolean | null;
    };
    outbound: {
        lines?: {
            lineno?: number | null;
            loggedAt?: string | null;
            message?: string | null;
            ts?: string | null;
        }[] | null;
        pending?: boolean | null;
    };
}
export declare const GetInvestigateTraceResponse: Schema.Schema<GetInvestigateTraceResponse>;
export type GetInvestigateTraceError = DefaultErrors;
export declare const getInvestigateTrace: API.OperationMethod<GetInvestigateTraceRequest, GetInvestigateTraceResponse, GetInvestigateTraceError, Credentials | HttpClient.HttpClient>;
export interface ListPhishguardReportsRequest {
    /** Path param: Identifier. */
    accountId: string;
    /** Query param: End of the time range (RFC3339). Takes precedence over to_date. */
    end?: string;
    /** Query param: Deprecated, use `start` instead. Start date in YYYY-MM-DD format. */
    fromDate?: string;
    /** Query param: Start of the time range (RFC3339). Takes precedence over from_date. */
    start?: string;
    /** Query param: Deprecated, use `end` instead. End date in YYYY-MM-DD format. */
    toDate?: string;
}
export declare const ListPhishguardReportsRequest: Schema.Schema<ListPhishguardReportsRequest>;
export interface ListPhishguardReportsResponse {
    result: {
        id: number;
        content: string;
        disposition: "MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | (string & {});
        fields: {
            to: string[];
            from?: string | null;
            occurredAt?: string | null;
            postfixId?: string | null;
            ts?: string | null;
        };
        priority: string;
        title: string;
        createdAt?: string | null;
        tags?: {
            category: string;
            value: string;
        }[] | null;
        ts?: string | null;
        updatedAt?: string | null;
    }[];
}
export declare const ListPhishguardReportsResponse: Schema.Schema<ListPhishguardReportsResponse>;
export type ListPhishguardReportsError = DefaultErrors;
export declare const listPhishguardReports: API.PaginatedOperationMethod<ListPhishguardReportsRequest, ListPhishguardReportsResponse, ListPhishguardReportsError, Credentials | HttpClient.HttpClient>;
export interface GetSettingAllowPolicyRequest {
    policyId: string;
    /** Identifier. */
    accountId: string;
}
export declare const GetSettingAllowPolicyRequest: Schema.Schema<GetSettingAllowPolicyRequest>;
export interface GetSettingAllowPolicyResponse {
    /** Allow policy identifier */
    id: string;
    createdAt: string;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified: string;
    comments?: string | null;
    /** Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions. Note - This will not exempt messages with Malicious or Suspicious dispositions. */
    isAcceptableSender?: boolean | null;
    /** Messages to this recipient will bypass all detections */
    isExemptRecipient?: boolean | null;
    /** @deprecated Deprecated as of July 1, 2025. Use `is_exempt_recipient` instead. End of life: July 1, 2026. */
    isRecipient?: boolean | null;
    isRegex?: boolean | null;
    /** @deprecated Deprecated as of July 1, 2025. Use `is_trusted_sender` instead. End of life: July 1, 2026. */
    isSender?: boolean | null;
    /** @deprecated Deprecated as of July 1, 2025. Use `is_acceptable_sender` instead. End of life: July 1, 2026. */
    isSpoof?: boolean | null;
    /** Messages from this sender will bypass all detections and link following */
    isTrustedSender?: boolean | null;
    modifiedAt?: string | null;
    pattern?: string | null;
    /** Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries. */
    patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {}) | null;
    /** Enforce DMARC, SPF or DKIM authentication. When on, Email Security only honors policies that pass authentication. */
    verifySender?: boolean | null;
}
export declare const GetSettingAllowPolicyResponse: Schema.Schema<GetSettingAllowPolicyResponse>;
export type GetSettingAllowPolicyError = DefaultErrors;
export declare const getSettingAllowPolicy: API.OperationMethod<GetSettingAllowPolicyRequest, GetSettingAllowPolicyResponse, GetSettingAllowPolicyError, Credentials | HttpClient.HttpClient>;
export interface ListSettingAllowPoliciesRequest {
    /** Path param: Identifier. */
    accountId: string;
    page?: number;
    perPage?: number;
    /** Query param: The sorting direction. */
    direction?: "asc" | "desc" | (string & {});
    /** Query param: Filter to show only policies where messages from the sender are exempted from Spam, Spoof, and Bulk dispositions (not Malicious or Suspicious). */
    isAcceptableSender?: boolean;
    /** Query param: Filter to show only policies where messages to the recipient bypass all detections. */
    isExemptRecipient?: boolean;
    /** Query param: Filter to show only policies where messages from the sender bypass all detections and link following. */
    isTrustedSender?: boolean;
    /** Query param: Field to sort by. */
    order?: "pattern" | "created_at" | (string & {});
    /** Query param */
    pattern?: string;
    /** Query param: Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries. */
    patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {});
    /** Query param: Search term for filtering records. Behavior may change. */
    search?: string;
    /** Query param: Filter to show only policies that enforce DMARC, SPF, or DKIM authentication. */
    verifySender?: boolean;
}
export declare const ListSettingAllowPoliciesRequest: Schema.Schema<ListSettingAllowPoliciesRequest>;
export interface ListSettingAllowPoliciesResponse {
    result: {
        id: string;
        createdAt: string;
        lastModified: string;
        comments?: string | null;
        isAcceptableSender?: boolean | null;
        isExemptRecipient?: boolean | null;
        isRecipient?: boolean | null;
        isRegex?: boolean | null;
        isSender?: boolean | null;
        isSpoof?: boolean | null;
        isTrustedSender?: boolean | null;
        modifiedAt?: string | null;
        pattern?: string | null;
        patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {}) | null;
        verifySender?: boolean | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListSettingAllowPoliciesResponse: Schema.Schema<ListSettingAllowPoliciesResponse>;
export type ListSettingAllowPoliciesError = DefaultErrors;
export declare const listSettingAllowPolicies: API.PaginatedOperationMethod<ListSettingAllowPoliciesRequest, ListSettingAllowPoliciesResponse, ListSettingAllowPoliciesError, Credentials | HttpClient.HttpClient>;
export interface CreateSettingAllowPolicyRequest {
    /** Path param: Identifier. */
    accountId: string;
    /** Body param: Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions. Note - This will not exempt messages with Malicious or Suspicious dispositions. */
    isAcceptableSender: boolean;
    /** Body param: Messages to this recipient will bypass all detections */
    isExemptRecipient: boolean;
    /** Body param */
    isRegex: boolean;
    /** Body param: Messages from this sender will bypass all detections and link following */
    isTrustedSender: boolean;
    /** Body param */
    pattern: string;
    /** Body param: Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries. */
    patternType: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {});
    /** Body param: Enforce DMARC, SPF or DKIM authentication. When on, Email Security only honors policies that pass authentication. */
    verifySender: boolean;
    /** Body param */
    comments?: string | null;
    /** @deprecated Body param: Deprecated as of July 1, 2025. Use `is_exempt_recipient` instead. End of life: July 1, 2026. */
    isRecipient?: boolean;
    /** @deprecated Body param: Deprecated as of July 1, 2025. Use `is_trusted_sender` instead. End of life: July 1, 2026. */
    isSender?: boolean;
    /** @deprecated Body param: Deprecated as of July 1, 2025. Use `is_acceptable_sender` instead. End of life: July 1, 2026. */
    isSpoof?: boolean;
}
export declare const CreateSettingAllowPolicyRequest: Schema.Schema<CreateSettingAllowPolicyRequest>;
export interface CreateSettingAllowPolicyResponse {
    /** Allow policy identifier */
    id: string;
    createdAt: string;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified: string;
    comments?: string | null;
    /** Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions. Note - This will not exempt messages with Malicious or Suspicious dispositions. */
    isAcceptableSender?: boolean | null;
    /** Messages to this recipient will bypass all detections */
    isExemptRecipient?: boolean | null;
    /** @deprecated Deprecated as of July 1, 2025. Use `is_exempt_recipient` instead. End of life: July 1, 2026. */
    isRecipient?: boolean | null;
    isRegex?: boolean | null;
    /** @deprecated Deprecated as of July 1, 2025. Use `is_trusted_sender` instead. End of life: July 1, 2026. */
    isSender?: boolean | null;
    /** @deprecated Deprecated as of July 1, 2025. Use `is_acceptable_sender` instead. End of life: July 1, 2026. */
    isSpoof?: boolean | null;
    /** Messages from this sender will bypass all detections and link following */
    isTrustedSender?: boolean | null;
    modifiedAt?: string | null;
    pattern?: string | null;
    /** Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries. */
    patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {}) | null;
    /** Enforce DMARC, SPF or DKIM authentication. When on, Email Security only honors policies that pass authentication. */
    verifySender?: boolean | null;
}
export declare const CreateSettingAllowPolicyResponse: Schema.Schema<CreateSettingAllowPolicyResponse>;
export type CreateSettingAllowPolicyError = DefaultErrors;
export declare const createSettingAllowPolicy: API.OperationMethod<CreateSettingAllowPolicyRequest, CreateSettingAllowPolicyResponse, CreateSettingAllowPolicyError, Credentials | HttpClient.HttpClient>;
export interface PatchSettingAllowPolicyRequest {
    policyId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Body param */
    comments?: string | null;
    /** Body param: Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions. Note - This will not exempt messages with Malicious or Suspicious dispositions. */
    isAcceptableSender?: boolean;
    /** Body param: Messages to this recipient will bypass all detections */
    isExemptRecipient?: boolean;
    /** @deprecated Body param: Deprecated as of July 1, 2025. Use `is_exempt_recipient` instead. End of life: July 1, 2026. */
    isRecipient?: boolean;
    /** Body param */
    isRegex?: boolean;
    /** @deprecated Body param: Deprecated as of July 1, 2025. Use `is_trusted_sender` instead. End of life: July 1, 2026. */
    isSender?: boolean;
    /** @deprecated Body param: Deprecated as of July 1, 2025. Use `is_acceptable_sender` instead. End of life: July 1, 2026. */
    isSpoof?: boolean;
    /** Body param: Messages from this sender will bypass all detections and link following */
    isTrustedSender?: boolean;
    /** Body param */
    pattern?: string;
    /** Body param: Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries. */
    patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {});
    /** Body param: Enforce DMARC, SPF or DKIM authentication. When on, Email Security only honors policies that pass authentication. */
    verifySender?: boolean;
}
export declare const PatchSettingAllowPolicyRequest: Schema.Schema<PatchSettingAllowPolicyRequest>;
export interface PatchSettingAllowPolicyResponse {
    /** Allow policy identifier */
    id: string;
    createdAt: string;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified: string;
    comments?: string | null;
    /** Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions. Note - This will not exempt messages with Malicious or Suspicious dispositions. */
    isAcceptableSender?: boolean | null;
    /** Messages to this recipient will bypass all detections */
    isExemptRecipient?: boolean | null;
    /** @deprecated Deprecated as of July 1, 2025. Use `is_exempt_recipient` instead. End of life: July 1, 2026. */
    isRecipient?: boolean | null;
    isRegex?: boolean | null;
    /** @deprecated Deprecated as of July 1, 2025. Use `is_trusted_sender` instead. End of life: July 1, 2026. */
    isSender?: boolean | null;
    /** @deprecated Deprecated as of July 1, 2025. Use `is_acceptable_sender` instead. End of life: July 1, 2026. */
    isSpoof?: boolean | null;
    /** Messages from this sender will bypass all detections and link following */
    isTrustedSender?: boolean | null;
    modifiedAt?: string | null;
    pattern?: string | null;
    /** Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries. */
    patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {}) | null;
    /** Enforce DMARC, SPF or DKIM authentication. When on, Email Security only honors policies that pass authentication. */
    verifySender?: boolean | null;
}
export declare const PatchSettingAllowPolicyResponse: Schema.Schema<PatchSettingAllowPolicyResponse>;
export type PatchSettingAllowPolicyError = DefaultErrors;
export declare const patchSettingAllowPolicy: API.OperationMethod<PatchSettingAllowPolicyRequest, PatchSettingAllowPolicyResponse, PatchSettingAllowPolicyError, Credentials | HttpClient.HttpClient>;
export interface DeleteSettingAllowPolicyRequest {
    policyId: string;
    /** Identifier. */
    accountId: string;
}
export declare const DeleteSettingAllowPolicyRequest: Schema.Schema<DeleteSettingAllowPolicyRequest>;
export interface DeleteSettingAllowPolicyResponse {
    /** Allow policy identifier */
    id: string;
}
export declare const DeleteSettingAllowPolicyResponse: Schema.Schema<DeleteSettingAllowPolicyResponse>;
export type DeleteSettingAllowPolicyError = DefaultErrors;
export declare const deleteSettingAllowPolicy: API.OperationMethod<DeleteSettingAllowPolicyRequest, DeleteSettingAllowPolicyResponse, DeleteSettingAllowPolicyError, Credentials | HttpClient.HttpClient>;
export interface GetSettingBlockSenderRequest {
    patternId: string;
    /** Identifier. */
    accountId: string;
}
export declare const GetSettingBlockSenderRequest: Schema.Schema<GetSettingBlockSenderRequest>;
export interface GetSettingBlockSenderResponse {
    /** Blocked sender pattern identifier */
    id?: string | null;
    comments?: string | null;
    createdAt?: string | null;
    isRegex?: boolean | null;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified?: string | null;
    modifiedAt?: string | null;
    pattern?: string | null;
    /** Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries. */
    patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {}) | null;
}
export declare const GetSettingBlockSenderResponse: Schema.Schema<GetSettingBlockSenderResponse>;
export type GetSettingBlockSenderError = DefaultErrors;
export declare const getSettingBlockSender: API.OperationMethod<GetSettingBlockSenderRequest, GetSettingBlockSenderResponse, GetSettingBlockSenderError, Credentials | HttpClient.HttpClient>;
export interface ListSettingBlockSendersRequest {
    /** Path param: Identifier. */
    accountId: string;
    page?: number;
    perPage?: number;
    /** Query param: The sorting direction. */
    direction?: "asc" | "desc" | (string & {});
    /** Query param: Field to sort by. */
    order?: "pattern" | "created_at" | (string & {});
    /** Query param: Filter by pattern value. */
    pattern?: string;
    /** Query param: Filter by pattern type. */
    patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {});
    /** Query param: Search term for filtering records. Behavior may change. */
    search?: string;
}
export declare const ListSettingBlockSendersRequest: Schema.Schema<ListSettingBlockSendersRequest>;
export interface ListSettingBlockSendersResponse {
    result: {
        id?: string | null;
        comments?: string | null;
        createdAt?: string | null;
        isRegex?: boolean | null;
        lastModified?: string | null;
        modifiedAt?: string | null;
        pattern?: string | null;
        patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {}) | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListSettingBlockSendersResponse: Schema.Schema<ListSettingBlockSendersResponse>;
export type ListSettingBlockSendersError = DefaultErrors;
export declare const listSettingBlockSenders: API.PaginatedOperationMethod<ListSettingBlockSendersRequest, ListSettingBlockSendersResponse, ListSettingBlockSendersError, Credentials | HttpClient.HttpClient>;
export interface CreateSettingBlockSenderRequest {
    /** Path param: Identifier. */
    accountId: string;
    /** Body param */
    isRegex: boolean;
    /** Body param */
    pattern: string;
    /** Body param: Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries. */
    patternType: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {});
    /** Body param */
    comments?: string | null;
}
export declare const CreateSettingBlockSenderRequest: Schema.Schema<CreateSettingBlockSenderRequest>;
export interface CreateSettingBlockSenderResponse {
    /** Blocked sender pattern identifier */
    id?: string | null;
    comments?: string | null;
    createdAt?: string | null;
    isRegex?: boolean | null;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified?: string | null;
    modifiedAt?: string | null;
    pattern?: string | null;
    /** Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries. */
    patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {}) | null;
}
export declare const CreateSettingBlockSenderResponse: Schema.Schema<CreateSettingBlockSenderResponse>;
export type CreateSettingBlockSenderError = DefaultErrors;
export declare const createSettingBlockSender: API.OperationMethod<CreateSettingBlockSenderRequest, CreateSettingBlockSenderResponse, CreateSettingBlockSenderError, Credentials | HttpClient.HttpClient>;
export interface PatchSettingBlockSenderRequest {
    patternId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Body param */
    comments?: string | null;
    /** Body param */
    isRegex?: boolean;
    /** Body param */
    pattern?: string;
    /** Body param: Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries. */
    patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {});
}
export declare const PatchSettingBlockSenderRequest: Schema.Schema<PatchSettingBlockSenderRequest>;
export interface PatchSettingBlockSenderResponse {
    /** Blocked sender pattern identifier */
    id?: string | null;
    comments?: string | null;
    createdAt?: string | null;
    isRegex?: boolean | null;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified?: string | null;
    modifiedAt?: string | null;
    pattern?: string | null;
    /** Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries. */
    patternType?: "EMAIL" | "DOMAIN" | "IP" | "UNKNOWN" | (string & {}) | null;
}
export declare const PatchSettingBlockSenderResponse: Schema.Schema<PatchSettingBlockSenderResponse>;
export type PatchSettingBlockSenderError = DefaultErrors;
export declare const patchSettingBlockSender: API.OperationMethod<PatchSettingBlockSenderRequest, PatchSettingBlockSenderResponse, PatchSettingBlockSenderError, Credentials | HttpClient.HttpClient>;
export interface DeleteSettingBlockSenderRequest {
    patternId: string;
    /** Identifier. */
    accountId: string;
}
export declare const DeleteSettingBlockSenderRequest: Schema.Schema<DeleteSettingBlockSenderRequest>;
export interface DeleteSettingBlockSenderResponse {
    /** Blocked sender pattern identifier */
    id: string;
}
export declare const DeleteSettingBlockSenderResponse: Schema.Schema<DeleteSettingBlockSenderResponse>;
export type DeleteSettingBlockSenderError = DefaultErrors;
export declare const deleteSettingBlockSender: API.OperationMethod<DeleteSettingBlockSenderRequest, DeleteSettingBlockSenderResponse, DeleteSettingBlockSenderError, Credentials | HttpClient.HttpClient>;
export interface GetSettingDomainRequest {
    domainId: string;
    /** Identifier. */
    accountId: string;
}
export declare const GetSettingDomainRequest: Schema.Schema<GetSettingDomainRequest>;
export interface GetSettingDomainResponse {
    /** Domain identifier */
    id?: string | null;
    allowedDeliveryModes?: ("DIRECT" | "BCC" | "JOURNAL" | "API" | "RETRO_SCAN" | (string & {}))[] | null;
    authorization?: {
        authorized: boolean;
        timestamp: string;
        statusMessage?: string | null;
    } | null;
    createdAt?: string | null;
    dmarcStatus?: "none" | "good" | "invalid" | (string & {}) | null;
    domain?: string | null;
    dropDispositions?: ("MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | (string & {}))[] | null;
    emailsProcessed?: {
        timestamp: string;
        totalEmailsProcessed: number;
        totalEmailsProcessedPrevious: number;
    } | null;
    folder?: "AllItems" | "Inbox" | (string & {}) | null;
    inboxProvider?: "Microsoft" | "Google" | null;
    integrationId?: string | null;
    ipRestrictions?: string[] | null;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified?: string | null;
    lookbackHops?: number | null;
    modifiedAt?: string | null;
    o365TenantId?: string | null;
    regions?: ("GLOBAL" | "AU" | "DE" | "IN" | "US" | (string & {}))[] | null;
    requireTlsInbound?: boolean | null;
    requireTlsOutbound?: boolean | null;
    spfStatus?: "none" | "good" | "neutral" | "open" | "invalid" | (string & {}) | null;
    status?: "pending" | "active" | "failed" | "timeout" | (string & {}) | null;
    transport?: string | null;
}
export declare const GetSettingDomainResponse: Schema.Schema<GetSettingDomainResponse>;
export type GetSettingDomainError = DefaultErrors;
export declare const getSettingDomain: API.OperationMethod<GetSettingDomainRequest, GetSettingDomainResponse, GetSettingDomainError, Credentials | HttpClient.HttpClient>;
export interface ListSettingDomainsRequest {
    /** Path param: Identifier. */
    accountId: string;
    page?: number;
    perPage?: number;
    /** Query param: Currently active delivery mode to filter by. */
    activeDeliveryMode?: "DIRECT" | "BCC" | "JOURNAL" | "API" | "RETRO_SCAN" | (string & {});
    /** Query param: Delivery mode to filter by. */
    allowedDeliveryMode?: "DIRECT" | "BCC" | "JOURNAL" | "API" | "RETRO_SCAN" | (string & {});
    /** Query param: The sorting direction. */
    direction?: "asc" | "desc" | (string & {});
    /** Query param: Domain names to filter by. */
    domain?: string[];
    /** Query param: Integration ID to filter by. */
    integrationId?: string;
    /** Query param: Field to sort by. */
    order?: "domain" | "created_at" | (string & {});
    /** Query param: Search term for filtering records. Behavior may change. */
    search?: string;
    /** Query param: Filters response to domains with the provided status. */
    status?: "pending" | "active" | "failed" | "timeout" | (string & {});
}
export declare const ListSettingDomainsRequest: Schema.Schema<ListSettingDomainsRequest>;
export interface ListSettingDomainsResponse {
    result: {
        id?: string | null;
        allowedDeliveryModes?: ("DIRECT" | "BCC" | "JOURNAL" | "API" | "RETRO_SCAN" | (string & {}))[] | null;
        authorization?: {
            authorized: boolean;
            timestamp: string;
            statusMessage?: string | null;
        } | null;
        createdAt?: string | null;
        dmarcStatus?: "none" | "good" | "invalid" | (string & {}) | null;
        domain?: string | null;
        dropDispositions?: ("MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | (string & {}))[] | null;
        emailsProcessed?: {
            timestamp: string;
            totalEmailsProcessed: number;
            totalEmailsProcessedPrevious: number;
        } | null;
        folder?: "AllItems" | "Inbox" | (string & {}) | null;
        inboxProvider?: "Microsoft" | "Google" | null;
        integrationId?: string | null;
        ipRestrictions?: string[] | null;
        lastModified?: string | null;
        lookbackHops?: number | null;
        modifiedAt?: string | null;
        o365TenantId?: string | null;
        regions?: ("GLOBAL" | "AU" | "DE" | "IN" | "US" | (string & {}))[] | null;
        requireTlsInbound?: boolean | null;
        requireTlsOutbound?: boolean | null;
        spfStatus?: "none" | "good" | "neutral" | "open" | "invalid" | (string & {}) | null;
        status?: "pending" | "active" | "failed" | "timeout" | (string & {}) | null;
        transport?: string | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListSettingDomainsResponse: Schema.Schema<ListSettingDomainsResponse>;
export type ListSettingDomainsError = DefaultErrors;
export declare const listSettingDomains: API.PaginatedOperationMethod<ListSettingDomainsRequest, ListSettingDomainsResponse, ListSettingDomainsError, Credentials | HttpClient.HttpClient>;
export interface PatchSettingDomainRequest {
    domainId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Body param */
    allowedDeliveryModes?: ("DIRECT" | "BCC" | "JOURNAL" | "API" | "RETRO_SCAN" | (string & {}))[];
    /** Body param */
    domain?: string;
    /** Body param */
    dropDispositions?: ("MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | (string & {}))[];
    /** Body param */
    folder?: "AllItems" | "Inbox" | (string & {});
    /** Body param */
    integrationId?: string | null;
    /** Body param */
    ipRestrictions?: string[];
    /** Body param */
    lookbackHops?: number;
    /** Body param */
    regions?: ("GLOBAL" | "AU" | "DE" | "IN" | "US" | (string & {}))[];
    /** Body param */
    requireTlsInbound?: boolean;
    /** Body param */
    requireTlsOutbound?: boolean;
    /** Body param */
    transport?: string;
}
export declare const PatchSettingDomainRequest: Schema.Schema<PatchSettingDomainRequest>;
export interface PatchSettingDomainResponse {
    /** Domain identifier */
    id?: string | null;
    allowedDeliveryModes?: ("DIRECT" | "BCC" | "JOURNAL" | "API" | "RETRO_SCAN" | (string & {}))[] | null;
    authorization?: {
        authorized: boolean;
        timestamp: string;
        statusMessage?: string | null;
    } | null;
    createdAt?: string | null;
    dmarcStatus?: "none" | "good" | "invalid" | (string & {}) | null;
    domain?: string | null;
    dropDispositions?: ("MALICIOUS" | "MALICIOUS-BEC" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "ENCRYPTED" | "EXTERNAL" | "UNKNOWN" | "NONE" | (string & {}))[] | null;
    emailsProcessed?: {
        timestamp: string;
        totalEmailsProcessed: number;
        totalEmailsProcessedPrevious: number;
    } | null;
    folder?: "AllItems" | "Inbox" | (string & {}) | null;
    inboxProvider?: "Microsoft" | "Google" | null;
    integrationId?: string | null;
    ipRestrictions?: string[] | null;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified?: string | null;
    lookbackHops?: number | null;
    modifiedAt?: string | null;
    o365TenantId?: string | null;
    regions?: ("GLOBAL" | "AU" | "DE" | "IN" | "US" | (string & {}))[] | null;
    requireTlsInbound?: boolean | null;
    requireTlsOutbound?: boolean | null;
    spfStatus?: "none" | "good" | "neutral" | "open" | "invalid" | (string & {}) | null;
    status?: "pending" | "active" | "failed" | "timeout" | (string & {}) | null;
    transport?: string | null;
}
export declare const PatchSettingDomainResponse: Schema.Schema<PatchSettingDomainResponse>;
export type PatchSettingDomainError = DefaultErrors;
export declare const patchSettingDomain: API.OperationMethod<PatchSettingDomainRequest, PatchSettingDomainResponse, PatchSettingDomainError, Credentials | HttpClient.HttpClient>;
export interface DeleteSettingDomainRequest {
    domainId: string;
    /** Identifier. */
    accountId: string;
}
export declare const DeleteSettingDomainRequest: Schema.Schema<DeleteSettingDomainRequest>;
export interface DeleteSettingDomainResponse {
    /** Domain identifier */
    id: string;
}
export declare const DeleteSettingDomainResponse: Schema.Schema<DeleteSettingDomainResponse>;
export type DeleteSettingDomainError = DefaultErrors;
export declare const deleteSettingDomain: API.OperationMethod<DeleteSettingDomainRequest, DeleteSettingDomainResponse, DeleteSettingDomainError, Credentials | HttpClient.HttpClient>;
export interface GetSettingImpersonationRegistryRequest {
    impersonationRegistryId: string;
    /** Identifier. */
    accountId: string;
}
export declare const GetSettingImpersonationRegistryRequest: Schema.Schema<GetSettingImpersonationRegistryRequest>;
export interface GetSettingImpersonationRegistryResponse {
    /** Impersonation registry entry identifier */
    id?: string | null;
    comments?: string | null;
    createdAt?: string | null;
    directoryId?: number | null;
    directoryNodeId?: number | null;
    email?: string | null;
    /** @deprecated */
    externalDirectoryNodeId?: string | null;
    isEmailRegex?: boolean | null;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified?: string | null;
    modifiedAt?: string | null;
    name?: string | null;
    provenance?: "A1S_INTERNAL" | "SNOOPY-CASB_OFFICE_365" | "SNOOPY-OFFICE_365" | "SNOOPY-GOOGLE_DIRECTORY" | (string & {}) | null;
}
export declare const GetSettingImpersonationRegistryResponse: Schema.Schema<GetSettingImpersonationRegistryResponse>;
export type GetSettingImpersonationRegistryError = DefaultErrors;
export declare const getSettingImpersonationRegistry: API.OperationMethod<GetSettingImpersonationRegistryRequest, GetSettingImpersonationRegistryResponse, GetSettingImpersonationRegistryError, Credentials | HttpClient.HttpClient>;
export interface ListSettingImpersonationRegistriesRequest {
    /** Path param: Identifier. */
    accountId: string;
    page?: number;
    perPage?: number;
    /** Query param: The sorting direction. */
    direction?: "asc" | "desc" | (string & {});
    /** Query param: Field to sort by. */
    order?: "name" | "email" | "created_at" | (string & {});
    /** Query param */
    provenance?: "A1S_INTERNAL" | "SNOOPY-CASB_OFFICE_365" | "SNOOPY-OFFICE_365" | "SNOOPY-GOOGLE_DIRECTORY" | (string & {});
    /** Query param: Search term for filtering records. Behavior may change. */
    search?: string;
}
export declare const ListSettingImpersonationRegistriesRequest: Schema.Schema<ListSettingImpersonationRegistriesRequest>;
export interface ListSettingImpersonationRegistriesResponse {
    result: {
        id?: string | null;
        comments?: string | null;
        createdAt?: string | null;
        directoryId?: number | null;
        directoryNodeId?: number | null;
        email?: string | null;
        externalDirectoryNodeId?: string | null;
        isEmailRegex?: boolean | null;
        lastModified?: string | null;
        modifiedAt?: string | null;
        name?: string | null;
        provenance?: "A1S_INTERNAL" | "SNOOPY-CASB_OFFICE_365" | "SNOOPY-OFFICE_365" | "SNOOPY-GOOGLE_DIRECTORY" | (string & {}) | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListSettingImpersonationRegistriesResponse: Schema.Schema<ListSettingImpersonationRegistriesResponse>;
export type ListSettingImpersonationRegistriesError = DefaultErrors;
export declare const listSettingImpersonationRegistries: API.PaginatedOperationMethod<ListSettingImpersonationRegistriesRequest, ListSettingImpersonationRegistriesResponse, ListSettingImpersonationRegistriesError, Credentials | HttpClient.HttpClient>;
export interface CreateSettingImpersonationRegistryRequest {
    /** Path param: Identifier. */
    accountId: string;
    /** Body param */
    email: string;
    /** Body param */
    isEmailRegex: boolean;
    /** Body param */
    name: string;
    /** Body param */
    comments?: string | null;
    /** Body param */
    directoryId?: number | null;
    /** Body param */
    directoryNodeId?: number | null;
    /** @deprecated Body param */
    externalDirectoryNodeId?: string | null;
    /** Body param */
    provenance?: "A1S_INTERNAL" | "SNOOPY-CASB_OFFICE_365" | "SNOOPY-OFFICE_365" | "SNOOPY-GOOGLE_DIRECTORY" | (string & {});
}
export declare const CreateSettingImpersonationRegistryRequest: Schema.Schema<CreateSettingImpersonationRegistryRequest>;
export interface CreateSettingImpersonationRegistryResponse {
    /** Impersonation registry entry identifier */
    id?: string | null;
    comments?: string | null;
    createdAt?: string | null;
    directoryId?: number | null;
    directoryNodeId?: number | null;
    email?: string | null;
    /** @deprecated */
    externalDirectoryNodeId?: string | null;
    isEmailRegex?: boolean | null;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified?: string | null;
    modifiedAt?: string | null;
    name?: string | null;
    provenance?: "A1S_INTERNAL" | "SNOOPY-CASB_OFFICE_365" | "SNOOPY-OFFICE_365" | "SNOOPY-GOOGLE_DIRECTORY" | (string & {}) | null;
}
export declare const CreateSettingImpersonationRegistryResponse: Schema.Schema<CreateSettingImpersonationRegistryResponse>;
export type CreateSettingImpersonationRegistryError = DefaultErrors;
export declare const createSettingImpersonationRegistry: API.OperationMethod<CreateSettingImpersonationRegistryRequest, CreateSettingImpersonationRegistryResponse, CreateSettingImpersonationRegistryError, Credentials | HttpClient.HttpClient>;
export interface PatchSettingImpersonationRegistryRequest {
    impersonationRegistryId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Body param */
    comments?: string | null;
    /** Body param */
    directoryId?: number | null;
    /** Body param */
    directoryNodeId?: number | null;
    /** Body param */
    email?: string;
    /** @deprecated Body param */
    externalDirectoryNodeId?: string | null;
    /** Body param */
    isEmailRegex?: boolean;
    /** Body param */
    name?: string;
    /** Body param */
    provenance?: "A1S_INTERNAL" | "SNOOPY-CASB_OFFICE_365" | "SNOOPY-OFFICE_365" | "SNOOPY-GOOGLE_DIRECTORY" | (string & {});
}
export declare const PatchSettingImpersonationRegistryRequest: Schema.Schema<PatchSettingImpersonationRegistryRequest>;
export interface PatchSettingImpersonationRegistryResponse {
    /** Impersonation registry entry identifier */
    id?: string | null;
    comments?: string | null;
    createdAt?: string | null;
    directoryId?: number | null;
    directoryNodeId?: number | null;
    email?: string | null;
    /** @deprecated */
    externalDirectoryNodeId?: string | null;
    isEmailRegex?: boolean | null;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified?: string | null;
    modifiedAt?: string | null;
    name?: string | null;
    provenance?: "A1S_INTERNAL" | "SNOOPY-CASB_OFFICE_365" | "SNOOPY-OFFICE_365" | "SNOOPY-GOOGLE_DIRECTORY" | (string & {}) | null;
}
export declare const PatchSettingImpersonationRegistryResponse: Schema.Schema<PatchSettingImpersonationRegistryResponse>;
export type PatchSettingImpersonationRegistryError = DefaultErrors;
export declare const patchSettingImpersonationRegistry: API.OperationMethod<PatchSettingImpersonationRegistryRequest, PatchSettingImpersonationRegistryResponse, PatchSettingImpersonationRegistryError, Credentials | HttpClient.HttpClient>;
export interface DeleteSettingImpersonationRegistryRequest {
    impersonationRegistryId: string;
    /** Identifier. */
    accountId: string;
}
export declare const DeleteSettingImpersonationRegistryRequest: Schema.Schema<DeleteSettingImpersonationRegistryRequest>;
export interface DeleteSettingImpersonationRegistryResponse {
    /** Impersonation registry entry identifier */
    id: string;
}
export declare const DeleteSettingImpersonationRegistryResponse: Schema.Schema<DeleteSettingImpersonationRegistryResponse>;
export type DeleteSettingImpersonationRegistryError = DefaultErrors;
export declare const deleteSettingImpersonationRegistry: API.OperationMethod<DeleteSettingImpersonationRegistryRequest, DeleteSettingImpersonationRegistryResponse, DeleteSettingImpersonationRegistryError, Credentials | HttpClient.HttpClient>;
export interface GetSettingTrustedDomainRequest {
    trustedDomainId: string;
    /** Identifier. */
    accountId: string;
}
export declare const GetSettingTrustedDomainRequest: Schema.Schema<GetSettingTrustedDomainRequest>;
export interface GetSettingTrustedDomainResponse {
    /** Trusted domain identifier */
    id?: string | null;
    comments?: string | null;
    createdAt?: string | null;
    /** Select to prevent recently registered domains from triggering a Suspicious or Malicious disposition. */
    isRecent?: boolean | null;
    isRegex?: boolean | null;
    /** Select for partner or other approved domains that have similar spelling to your connected domains. Prevents listed domains from triggering a Spoof disposition. */
    isSimilarity?: boolean | null;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified?: string | null;
    modifiedAt?: string | null;
    pattern?: string | null;
}
export declare const GetSettingTrustedDomainResponse: Schema.Schema<GetSettingTrustedDomainResponse>;
export type GetSettingTrustedDomainError = DefaultErrors;
export declare const getSettingTrustedDomain: API.OperationMethod<GetSettingTrustedDomainRequest, GetSettingTrustedDomainResponse, GetSettingTrustedDomainError, Credentials | HttpClient.HttpClient>;
export interface ListSettingTrustedDomainsRequest {
    /** Path param: Identifier. */
    accountId: string;
    page?: number;
    perPage?: number;
    /** Query param: The sorting direction. */
    direction?: "asc" | "desc" | (string & {});
    /** Query param: Filter to show only recently registered domains that are trusted to prevent triggering Suspicious or Malicious dispositions. */
    isRecent?: boolean;
    /** Query param: Filter to show only proximity domains (partner or approved domains with similar spelling to connected domains) that prevent Spoof dispositions. */
    isSimilarity?: boolean;
    /** Query param: Field to sort by. */
    order?: "pattern" | "created_at" | (string & {});
    /** Query param */
    pattern?: string;
    /** Query param: Search term for filtering records. Behavior may change. */
    search?: string;
}
export declare const ListSettingTrustedDomainsRequest: Schema.Schema<ListSettingTrustedDomainsRequest>;
export interface ListSettingTrustedDomainsResponse {
    result: {
        id?: string | null;
        comments?: string | null;
        createdAt?: string | null;
        isRecent?: boolean | null;
        isRegex?: boolean | null;
        isSimilarity?: boolean | null;
        lastModified?: string | null;
        modifiedAt?: string | null;
        pattern?: string | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListSettingTrustedDomainsResponse: Schema.Schema<ListSettingTrustedDomainsResponse>;
export type ListSettingTrustedDomainsError = DefaultErrors;
export declare const listSettingTrustedDomains: API.PaginatedOperationMethod<ListSettingTrustedDomainsRequest, ListSettingTrustedDomainsResponse, ListSettingTrustedDomainsError, Credentials | HttpClient.HttpClient>;
export interface CreateSettingTrustedDomainRequest {
    /** Path param: Identifier. */
    accountId: string;
    /** Body param: Select to prevent recently registered domains from triggering a Suspicious or Malicious disposition. */
    isRecent: boolean;
    /** Body param */
    isRegex: boolean;
    /** Body param: Select for partner or other approved domains that have similar spelling to your connected domains. Prevents listed domains from triggering a Spoof disposition. */
    isSimilarity: boolean;
    /** Body param */
    pattern: string;
    /** Body param */
    comments?: string | null;
}
export declare const CreateSettingTrustedDomainRequest: Schema.Schema<CreateSettingTrustedDomainRequest>;
export interface CreateSettingTrustedDomainResponse {
    /** Trusted domain identifier */
    id?: string | null;
    comments?: string | null;
    createdAt?: string | null;
    /** Select to prevent recently registered domains from triggering a Suspicious or Malicious disposition. */
    isRecent?: boolean | null;
    isRegex?: boolean | null;
    /** Select for partner or other approved domains that have similar spelling to your connected domains. Prevents listed domains from triggering a Spoof disposition. */
    isSimilarity?: boolean | null;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified?: string | null;
    modifiedAt?: string | null;
    pattern?: string | null;
}
export declare const CreateSettingTrustedDomainResponse: Schema.Schema<CreateSettingTrustedDomainResponse>;
export type CreateSettingTrustedDomainError = DefaultErrors;
export declare const createSettingTrustedDomain: API.OperationMethod<CreateSettingTrustedDomainRequest, CreateSettingTrustedDomainResponse, CreateSettingTrustedDomainError, Credentials | HttpClient.HttpClient>;
export interface PatchSettingTrustedDomainRequest {
    trustedDomainId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Body param */
    comments?: string | null;
    /** Body param: Select to prevent recently registered domains from triggering a Suspicious or Malicious disposition. */
    isRecent?: boolean;
    /** Body param */
    isRegex?: boolean;
    /** Body param: Select for partner or other approved domains that have similar spelling to your connected domains. Prevents listed domains from triggering a Spoof disposition. */
    isSimilarity?: boolean;
    /** Body param */
    pattern?: string;
}
export declare const PatchSettingTrustedDomainRequest: Schema.Schema<PatchSettingTrustedDomainRequest>;
export interface PatchSettingTrustedDomainResponse {
    /** Trusted domain identifier */
    id?: string | null;
    comments?: string | null;
    createdAt?: string | null;
    /** Select to prevent recently registered domains from triggering a Suspicious or Malicious disposition. */
    isRecent?: boolean | null;
    isRegex?: boolean | null;
    /** Select for partner or other approved domains that have similar spelling to your connected domains. Prevents listed domains from triggering a Spoof disposition. */
    isSimilarity?: boolean | null;
    /** @deprecated Deprecated, use `modified_at` instead. End of life: November 1, 2026. */
    lastModified?: string | null;
    modifiedAt?: string | null;
    pattern?: string | null;
}
export declare const PatchSettingTrustedDomainResponse: Schema.Schema<PatchSettingTrustedDomainResponse>;
export type PatchSettingTrustedDomainError = DefaultErrors;
export declare const patchSettingTrustedDomain: API.OperationMethod<PatchSettingTrustedDomainRequest, PatchSettingTrustedDomainResponse, PatchSettingTrustedDomainError, Credentials | HttpClient.HttpClient>;
export interface DeleteSettingTrustedDomainRequest {
    trustedDomainId: string;
    /** Identifier. */
    accountId: string;
}
export declare const DeleteSettingTrustedDomainRequest: Schema.Schema<DeleteSettingTrustedDomainRequest>;
export interface DeleteSettingTrustedDomainResponse {
    /** Trusted domain identifier */
    id: string;
}
export declare const DeleteSettingTrustedDomainResponse: Schema.Schema<DeleteSettingTrustedDomainResponse>;
export type DeleteSettingTrustedDomainError = DefaultErrors;
export declare const deleteSettingTrustedDomain: API.OperationMethod<DeleteSettingTrustedDomainRequest, DeleteSettingTrustedDomainResponse, DeleteSettingTrustedDomainError, Credentials | HttpClient.HttpClient>;
export interface ListSubmissionsRequest {
    /** Path param: Identifier. */
    accountId: string;
    page?: number;
    perPage?: number;
    /** Query param: The end of the search date range. Defaults to `now`. */
    end?: string;
    /** Query param: When true, return only submissions that were escalated by an end user (vs. by the security team). When false, return only submissions that were not escalated by an end user. When omitted, */
    escalatedFromUser?: boolean;
    /** Query param */
    originalDisposition?: "MALICIOUS" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "NONE" | (string & {});
    /** Query param */
    outcomeDisposition?: "MALICIOUS" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "NONE" | (string & {});
    /** Query param */
    query?: string | null;
    /** Query param */
    requestedDisposition?: "MALICIOUS" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "NONE" | (string & {});
    /** Query param: The beginning of the search date range. Defaults to `now - 30 days`. */
    start?: string;
    /** Query param */
    status?: string;
    /** Query param */
    submissionId?: string;
    /** Query param */
    type?: "TEAM" | "USER" | (string & {});
}
export declare const ListSubmissionsRequest: Schema.Schema<ListSubmissionsRequest>;
export interface ListSubmissionsResponse {
    result: {
        requestedAt: string;
        submissionId: string;
        customerStatus?: "escalated" | "reviewed" | "unreviewed" | null;
        escalatedAs?: "MALICIOUS" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "NONE" | null;
        escalatedAt?: string | null;
        escalatedBy?: string | null;
        escalatedSubmissionId?: string | null;
        originalDisposition?: "MALICIOUS" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "NONE" | null;
        originalEdfHash?: string | null;
        originalPostfixId?: string | null;
        outcome?: string | null;
        outcomeDisposition?: "MALICIOUS" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "NONE" | null;
        requestedBy?: string | null;
        requestedDisposition?: "MALICIOUS" | "SUSPICIOUS" | "SPOOF" | "SPAM" | "BULK" | "NONE" | null;
        requestedTs?: string | null;
        status?: string | null;
        subject?: string | null;
        type?: "Team" | "User" | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListSubmissionsResponse: Schema.Schema<ListSubmissionsResponse>;
export type ListSubmissionsError = DefaultErrors;
export declare const listSubmissions: API.PaginatedOperationMethod<ListSubmissionsRequest, ListSubmissionsResponse, ListSubmissionsError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=email-security.d.ts.map