import { APIResource } from "../../core/resource.mjs";
import * as MitigationsAPI from "./mitigations.mjs";
import { BaseMitigations, MitigationListParams, MitigationListResponse, MitigationListResponsesV4PagePagination, MitigationReviewParams, MitigationReviewResponse, MitigationReviewResponsesSinglePage, Mitigations } from "./mitigations.mjs";
import * as SubmittedAPI from "./submitted/submitted.mjs";
import { BaseSubmitted, Submitted, SubmittedGetParams, SubmittedGetResponse, SubmittedListParams, SubmittedListResponse, SubmittedListResponsesV4PagePagination } from "./submitted/submitted.mjs";
import { APIPromise } from "../../core/api-promise.mjs";
import { PagePromise, V4PagePagination, type V4PagePaginationParams } from "../../core/pagination.mjs";
import { RequestOptions } from "../../internal/request-options.mjs";
export declare class BaseAbuseReports extends APIResource {
    static readonly _key: readonly ['abuseReports'];
    /**
     * Submit an abuse report of a particular type.
     *
     * Requires the abuse-reports entitlement on the account (Enterprise accounts have
     * it by default; other accounts must request access) and an API token with the
     * `Trust and Safety Write` permission. If the account is not entitled, the request
     * is rejected with an HTTP `401` response (see below).
     *
     * @example
     * ```ts
     * const abuseReport = await client.abuseReports.create(
     *   'report_param',
     *   {
     *     account_id: '023e105f4ecef8ad9ca31a8372d0c353',
     *     act: 'abuse_dmca',
     *     address1: 'x',
     *     agent_name: 'x',
     *     agree: 1,
     *     city: 'x',
     *     country: 'x',
     *     email: 'email',
     *     email2: 'email2',
     *     host_notification: 'send',
     *     name: 'x',
     *     original_work: 'x',
     *     owner_notification: 'send',
     *     signature: 'signature',
     *     state: 'x',
     *     urls: 'urls',
     *   },
     * );
     * ```
     */
    create(reportParam: string, params: AbuseReportCreateParams, options?: RequestOptions): APIPromise<AbuseReportCreateResponse>;
    /**
     * List abuse reports made against domains or other content associated with the
     * account. To list reports that the account submitted, use the submitted abuse
     * reports endpoint instead.
     *
     * @example
     * ```ts
     * // Automatically fetches more pages as needed.
     * for await (const abuseReportListResponse of client.abuseReports.list(
     *   { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
     * )) {
     *   // ...
     * }
     * ```
     */
    list(params: AbuseReportListParams, options?: RequestOptions): PagePromise<AbuseReportListResponsesV4PagePagination, AbuseReportListResponse>;
    /**
     * Retrieve the details of an abuse report made against a domain or other content
     * associated with the account. To retrieve a report that the account submitted,
     * use the submitted abuse report endpoint instead.
     *
     * @example
     * ```ts
     * const abuseReport = await client.abuseReports.get(
     *   'report_param',
     *   { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
     * );
     * ```
     */
    get(reportParam: string, params: AbuseReportGetParams, options?: RequestOptions): APIPromise<AbuseReportGetResponse>;
}
export declare class AbuseReports extends BaseAbuseReports {
    submitted: SubmittedAPI.Submitted;
    mitigations: MitigationsAPI.Mitigations;
}
export type AbuseReportListResponsesV4PagePagination = V4PagePagination<AbuseReportListResponse>;
/**
 * The result should be 'success' for successful response
 */
export type AbuseReportCreateResponse = string;
export interface AbuseReportListResponse {
    reports: Array<AbuseReportListResponse.Report>;
}
export declare namespace AbuseReportListResponse {
    interface Report {
        /**
         * Public facing ID of abuse report, aka abuse_rand.
         */
        id: string;
        /**
         * Creation date of report. Time in RFC 3339 format
         * (https://www.rfc-editor.org/rfc/rfc3339.html)
         */
        cdate: string;
        /**
         * Domain that relates to the report.
         */
        domain: string;
        /**
         * A summary of the mitigations related to this report.
         */
        mitigation_summary: Report.MitigationSummary;
        /**
         * An enum value that represents the status of an abuse record
         */
        status: 'accepted' | 'in_review';
        /**
         * The abuse report type
         */
        type: 'PHISH' | 'GEN' | 'THREAT' | 'DMCA' | 'EMER' | 'TM' | 'REG_WHO' | 'NCSEI' | 'NETWORK';
        /**
         * Justification for the report.
         */
        justification?: string;
        /**
         * Original work / Targeted brand in the alleged abuse.
         */
        original_work?: string;
        /**
         * Information about the submitter of the report.
         */
        submitter?: Report.Submitter;
        urls?: Array<string>;
    }
    namespace Report {
        /**
         * A summary of the mitigations related to this report.
         */
        interface MitigationSummary {
            /**
             * How many of the reported URLs were confirmed as abusive.
             */
            accepted_url_count: number;
            /**
             * How many mitigations are active.
             */
            active_count: number;
            /**
             * Whether the report has been forwarded to an external hosting provider.
             */
            external_host_notified: boolean;
            /**
             * How many mitigations are under review.
             */
            in_review_count: number;
            /**
             * How many mitigations are pending their effective date.
             */
            pending_count: number;
        }
        /**
         * Information about the submitter of the report.
         */
        interface Submitter {
            company?: string;
            email?: string;
            name?: string;
            telephone?: string;
        }
    }
}
export interface AbuseReportGetResponse {
    /**
     * Public facing ID of abuse report, aka abuse_rand.
     */
    id: string;
    /**
     * Creation date of report. Time in RFC 3339 format
     * (https://www.rfc-editor.org/rfc/rfc3339.html)
     */
    cdate: string;
    /**
     * Domain that relates to the report.
     */
    domain: string;
    /**
     * A summary of the mitigations related to this report.
     */
    mitigation_summary: AbuseReportGetResponse.MitigationSummary;
    /**
     * An enum value that represents the status of an abuse record
     */
    status: 'accepted' | 'in_review';
    /**
     * The abuse report type
     */
    type: 'PHISH' | 'GEN' | 'THREAT' | 'DMCA' | 'EMER' | 'TM' | 'REG_WHO' | 'NCSEI' | 'NETWORK';
    /**
     * Justification for the report.
     */
    justification?: string;
    /**
     * Original work / Targeted brand in the alleged abuse.
     */
    original_work?: string;
    /**
     * Information about the submitter of the report.
     */
    submitter?: AbuseReportGetResponse.Submitter;
    urls?: Array<string>;
}
export declare namespace AbuseReportGetResponse {
    /**
     * A summary of the mitigations related to this report.
     */
    interface MitigationSummary {
        /**
         * How many of the reported URLs were confirmed as abusive.
         */
        accepted_url_count: number;
        /**
         * How many mitigations are active.
         */
        active_count: number;
        /**
         * Whether the report has been forwarded to an external hosting provider.
         */
        external_host_notified: boolean;
        /**
         * How many mitigations are under review.
         */
        in_review_count: number;
        /**
         * How many mitigations are pending their effective date.
         */
        pending_count: number;
    }
    /**
     * Information about the submitter of the report.
     */
    interface Submitter {
        company?: string;
        email?: string;
        name?: string;
        telephone?: string;
    }
}
export type AbuseReportCreateParams = AbuseReportCreateParams.AbuseReportsDmcaReport | AbuseReportCreateParams.AbuseReportsTrademarkReport | AbuseReportCreateParams.AbuseReportsGeneralReport | AbuseReportCreateParams.AbuseReportsPhishingReport | AbuseReportCreateParams.AbuseReportsCsamReport | AbuseReportCreateParams.AbuseReportsThreatReport | AbuseReportCreateParams.AbuseReportsRegistrarWhoisReport | AbuseReportCreateParams.AbuseReportsNcseiReport;
export declare namespace AbuseReportCreateParams {
    interface AbuseReportsDmcaReport {
        /**
         * Path param: Cloudflare Account ID
         */
        account_id: string;
        /**
         * Body param: The report type for submitted reports.
         */
        act: 'abuse_dmca';
        /**
         * Body param: Text not exceeding 100 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        address1: string;
        /**
         * Body param: The name of the copyright holder. Text not exceeding 60 characters.
         * This field may be released by Cloudflare to third parties such as the Lumen
         * Database (https://lumendatabase.org/).
         */
        agent_name: string;
        /**
         * Body param: Can be `0` for false or `1` for true. Must be value: 1 for DMCA
         * reports
         */
        agree: 1;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        city: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        country: string;
        /**
         * Body param: A valid email of the abuse reporter. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        email: string;
        /**
         * Body param: Should match the value provided in `email`
         */
        email2: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        host_notification: 'send';
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        name: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        original_work: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        owner_notification: 'send';
        /**
         * Body param: Required for DMCA reports, should be same as Name. An affirmation
         * that all information in the report is true and accurate while agreeing to the
         * policies of Cloudflare's abuse reports
         */
        signature: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        state: string;
        /**
         * Body param: A list of valid URLs separated by ‘\n’ (new line character). The
         * list of the URLs should not exceed 250 URLs. All URLs should have the same
         * hostname. Each URL should be unique. This field may be released by Cloudflare to
         * third parties such as the Lumen Database (https://lumendatabase.org/).
         */
        urls: string;
        /**
         * Body param: Any additional comments about the infringement not exceeding 2000
         * characters
         */
        comments?: string;
        /**
         * Body param: Text not exceeding 100 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        company?: string;
        /**
         * Body param: Text containing 2 characters
         */
        reported_country?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        reported_user_agent?: string;
        /**
         * Body param: Text not exceeding 20 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        tele?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        title?: string;
    }
    interface AbuseReportsTrademarkReport {
        /**
         * Path param: Cloudflare Account ID
         */
        account_id: string;
        /**
         * Body param: The report type for submitted reports.
         */
        act: 'abuse_trademark';
        /**
         * Body param: A valid email of the abuse reporter. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        email: string;
        /**
         * Body param: Should match the value provided in `email`
         */
        email2: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        host_notification: 'send';
        /**
         * Body param: A detailed description of the infringement, including any necessary
         * access details and the exact steps needed to view the content, not exceeding
         * 5000 characters.
         */
        justification: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        name: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        owner_notification: 'send';
        /**
         * Body param: Text not exceeding 1000 characters
         */
        trademark_number: string;
        /**
         * Body param: Text not exceeding 1000 characters
         */
        trademark_office: string;
        /**
         * Body param: Text not exceeding 1000 characters
         */
        trademark_symbol: string;
        /**
         * Body param: A list of valid URLs separated by ‘\n’ (new line character). The
         * list of the URLs should not exceed 250 URLs. All URLs should have the same
         * hostname. Each URL should be unique. This field may be released by Cloudflare to
         * third parties such as the Lumen Database (https://lumendatabase.org/).
         */
        urls: string;
        /**
         * Body param: Any additional comments about the infringement not exceeding 2000
         * characters
         */
        comments?: string;
        /**
         * Body param: Text not exceeding 100 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        company?: string;
        /**
         * Body param: Text containing 2 characters
         */
        reported_country?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        reported_user_agent?: string;
        /**
         * Body param: Text not exceeding 20 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        tele?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        title?: string;
    }
    interface AbuseReportsGeneralReport {
        /**
         * Path param: Cloudflare Account ID
         */
        account_id: string;
        /**
         * Body param: The report type for submitted reports.
         */
        act: 'abuse_general';
        /**
         * Body param: A valid email of the abuse reporter. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        email: string;
        /**
         * Body param: Should match the value provided in `email`
         */
        email2: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        host_notification: 'send' | 'send-anon';
        /**
         * Body param: A detailed description of the infringement, including any necessary
         * access details and the exact steps needed to view the content, not exceeding
         * 5000 characters.
         */
        justification: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        name: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        owner_notification: 'send' | 'send-anon';
        /**
         * Body param: A list of valid URLs separated by ‘\n’ (new line character). The
         * list of the URLs should not exceed 250 URLs. All URLs should have the same
         * hostname. Each URL should be unique. This field may be released by Cloudflare to
         * third parties such as the Lumen Database (https://lumendatabase.org/).
         */
        urls: string;
        /**
         * Body param: Any additional comments about the infringement not exceeding 2000
         * characters
         */
        comments?: string;
        /**
         * Body param: Text not exceeding 100 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        company?: string;
        /**
         * Body param: A list of IP addresses separated by ‘\n’ (new line character). The
         * list of destination IPs should not exceed 30 IP addresses. Each one of the IP
         * addresses ought to be unique.
         */
        destination_ips?: string;
        /**
         * Body param: A comma separated list of ports and protocols e.g. 80/TCP, 22/UDP.
         * The total size of the field should not exceed 2000 characters. Each individual
         * port/protocol should not exceed 100 characters. The list should not have more
         * than 30 unique ports and protocols.
         */
        ports_protocols?: string;
        /**
         * Body param: Text containing 2 characters
         */
        reported_country?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        reported_user_agent?: string;
        /**
         * Body param: A list of IP addresses separated by ‘\n’ (new line character). The
         * list of source IPs should not exceed 30 IP addresses. Each one of the IP
         * addresses ought to be unique.
         */
        source_ips?: string;
        /**
         * Body param: Text not exceeding 20 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        tele?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        title?: string;
    }
    interface AbuseReportsPhishingReport {
        /**
         * Path param: Cloudflare Account ID
         */
        account_id: string;
        /**
         * Body param: The report type for submitted reports.
         */
        act: 'abuse_phishing';
        /**
         * Body param: A valid email of the abuse reporter. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        email: string;
        /**
         * Body param: Should match the value provided in `email`
         */
        email2: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        host_notification: 'send' | 'send-anon';
        /**
         * Body param: A detailed description of the infringement, including any necessary
         * access details and the exact steps needed to view the content, not exceeding
         * 5000 characters.
         */
        justification: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        name: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        owner_notification: 'send' | 'send-anon';
        /**
         * Body param: A list of valid URLs separated by ‘\n’ (new line character). The
         * list of the URLs should not exceed 250 URLs. All URLs should have the same
         * hostname. Each URL should be unique. This field may be released by Cloudflare to
         * third parties such as the Lumen Database (https://lumendatabase.org/).
         */
        urls: string;
        /**
         * Body param: Any additional comments about the infringement not exceeding 2000
         * characters
         */
        comments?: string;
        /**
         * Body param: Text not exceeding 100 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        company?: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        original_work?: string;
        /**
         * Body param: Text containing 2 characters
         */
        reported_country?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        reported_user_agent?: string;
        /**
         * Body param: Text not exceeding 20 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        tele?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        title?: string;
    }
    interface AbuseReportsCsamReport {
        /**
         * Path param: Cloudflare Account ID
         */
        account_id: string;
        /**
         * Body param: The report type for submitted reports.
         */
        act: 'abuse_children';
        /**
         * Body param: A valid email of the abuse reporter. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        email: string;
        /**
         * Body param: Should match the value provided in `email`
         */
        email2: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        host_notification: 'send' | 'send-anon';
        /**
         * Body param: A detailed description of the infringement, including any necessary
         * access details and the exact steps needed to view the content, not exceeding
         * 5000 characters.
         */
        justification: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        name: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        ncmec_notification: 'send' | 'send-anon';
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        owner_notification: 'send' | 'send-anon' | 'none';
        /**
         * Body param: A list of valid URLs separated by ‘\n’ (new line character). The
         * list of the URLs should not exceed 250 URLs. All URLs should have the same
         * hostname. Each URL should be unique. This field may be released by Cloudflare to
         * third parties such as the Lumen Database (https://lumendatabase.org/).
         */
        urls: string;
        /**
         * Body param: Any additional comments about the infringement not exceeding 2000
         * characters
         */
        comments?: string;
        /**
         * Body param: Text not exceeding 100 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        company?: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        country?: string;
        /**
         * Body param: Text containing 2 characters
         */
        reported_country?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        reported_user_agent?: string;
        /**
         * Body param: Text not exceeding 20 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        tele?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        title?: string;
    }
    interface AbuseReportsThreatReport {
        /**
         * Path param: Cloudflare Account ID
         */
        account_id: string;
        /**
         * Body param: The report type for submitted reports.
         */
        act: 'abuse_threat';
        /**
         * Body param: A valid email of the abuse reporter. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        email: string;
        /**
         * Body param: Should match the value provided in `email`
         */
        email2: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        host_notification: 'send' | 'send-anon';
        /**
         * Body param: A detailed description of the infringement, including any necessary
         * access details and the exact steps needed to view the content, not exceeding
         * 5000 characters.
         */
        justification: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        name: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        owner_notification: 'send' | 'send-anon';
        /**
         * Body param: A list of valid URLs separated by ‘\n’ (new line character). The
         * list of the URLs should not exceed 250 URLs. All URLs should have the same
         * hostname. Each URL should be unique. This field may be released by Cloudflare to
         * third parties such as the Lumen Database (https://lumendatabase.org/).
         */
        urls: string;
        /**
         * Body param: Any additional comments about the infringement not exceeding 2000
         * characters
         */
        comments?: string;
        /**
         * Body param: Text not exceeding 100 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        company?: string;
        /**
         * Body param: Text containing 2 characters
         */
        reported_country?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        reported_user_agent?: string;
        /**
         * Body param: Text not exceeding 20 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        tele?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        title?: string;
    }
    interface AbuseReportsRegistrarWhoisReport {
        /**
         * Path param: Cloudflare Account ID
         */
        account_id: string;
        /**
         * Body param: The report type for submitted reports.
         */
        act: 'abuse_registrar_whois';
        /**
         * Body param: A valid email of the abuse reporter. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        email: string;
        /**
         * Body param: Should match the value provided in `email`
         */
        email2: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        name: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        owner_notification: 'send' | 'send-anon' | 'none';
        /**
         * Body param: A list of valid URLs separated by ‘\n’ (new line character). The
         * list of the URLs should not exceed 250 URLs. All URLs should have the same
         * hostname. Each URL should be unique. This field may be released by Cloudflare to
         * third parties such as the Lumen Database (https://lumendatabase.org/).
         */
        urls: string;
        /**
         * Body param: Any additional comments about the infringement not exceeding 2000
         * characters
         */
        comments?: string;
        /**
         * Body param: Text not exceeding 100 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        company?: string;
        /**
         * Body param: RDP-mandated fields for registrar WHOIS data disclosure requests.
         */
        reg_who_request?: AbuseReportsRegistrarWhoisReport.RegWhoRequest;
        /**
         * Body param: Text containing 2 characters
         */
        reported_country?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        reported_user_agent?: string;
        /**
         * Body param: Text not exceeding 20 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        tele?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        title?: string;
    }
    namespace AbuseReportsRegistrarWhoisReport {
        /**
         * RDP-mandated fields for registrar WHOIS data disclosure requests.
         */
        interface RegWhoRequest {
            /**
             * Affirmation that the request is made in good faith per RDP 10.2.4. Must be true.
             */
            reg_who_good_faith_affirmation: boolean;
            /**
             * Agreement to process data lawfully per RDP 10.2.5. Must be true.
             */
            reg_who_lawful_processing_agreement: boolean;
            /**
             * Legal rights and rationale for the request per RDP 10.2.3. Required for all
             * WHOIS requests.
             */
            reg_who_legal_basis: string;
            /**
             * The type of WHOIS data request per RDP procedure.
             */
            reg_who_request_type: 'disclosure' | 'invalid_whois';
            /**
             * The specific WHOIS data elements being requested per RDP 10.2.2. Required for
             * all WHOIS requests.
             */
            reg_who_requested_data_elements: Array<'registrant_name' | 'registrant_organization' | 'registrant_email' | 'registrant_phone' | 'registrant_address' | 'registrant_address_country' | 'registrant_address_postal_code' | 'admin_name' | 'admin_organization' | 'admin_email' | 'admin_phone' | 'admin_address' | 'tech_name' | 'tech_organization' | 'tech_email' | 'tech_phone' | 'tech_address'>;
            /**
             * Optional authorization statement or power of attorney per RDP 10.2.1.3.
             */
            reg_who_authorization_statement?: string;
            /**
             * The nature of the requestor per RDP 10.2.1.2.
             */
            reg_who_requestor_type?: 'government' | 'corporation' | 'individual';
        }
    }
    interface AbuseReportsNcseiReport {
        /**
         * Path param: Cloudflare Account ID
         */
        account_id: string;
        /**
         * Body param: The report type for submitted reports.
         */
        act: 'abuse_ncsei';
        /**
         * Body param: A valid email of the abuse reporter. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        email: string;
        /**
         * Body param: Should match the value provided in `email`
         */
        email2: string;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        host_notification: 'send' | 'send-anon';
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        name: string;
        /**
         * Body param: If the submitter is the target of NCSEI in the URLs of the abuse
         * report.
         */
        ncsei_subject_representation: boolean;
        /**
         * Body param: Notification type based on the abuse type. NOTE: Copyright (DMCA)
         * and Trademark reports cannot be anonymous.
         */
        owner_notification: 'send' | 'send-anon' | 'none';
        /**
         * Body param: A list of valid URLs separated by ‘\n’ (new line character). The
         * list of the URLs should not exceed 250 URLs. All URLs should have the same
         * hostname. Each URL should be unique. This field may be released by Cloudflare to
         * third parties such as the Lumen Database (https://lumendatabase.org/).
         */
        urls: string;
        /**
         * Body param: Any additional comments about the infringement not exceeding 2000
         * characters
         */
        comments?: string;
        /**
         * Body param: Text not exceeding 100 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        company?: string;
        /**
         * Body param: Text not exceeding 255 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        country?: string;
        /**
         * Body param: Text containing 2 characters
         */
        reported_country?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        reported_user_agent?: string;
        /**
         * Body param: Text not exceeding 20 characters. This field may be released by
         * Cloudflare to third parties such as the Lumen Database
         * (https://lumendatabase.org/).
         */
        tele?: string;
        /**
         * Body param: Text not exceeding 255 characters
         */
        title?: string;
    }
}
export interface AbuseReportListParams extends V4PagePaginationParams {
    /**
     * Path param: Cloudflare Account ID
     */
    account_id: string;
    /**
     * Query param: Returns reports created after the specified date
     */
    created_after?: string;
    /**
     * Query param: Returns reports created before the specified date
     */
    created_before?: string;
    /**
     * Query param: Filter by domain name related to the abuse report
     */
    domain?: string;
    /**
     * Query param: Filter reports that have any mitigations in the given status.
     */
    mitigation_status?: 'pending' | 'active' | 'in_review' | 'cancelled' | 'removed';
    /**
     * Query param: A property to sort by, followed by the order (id, cdate, domain,
     * type, status)
     */
    sort?: string;
    /**
     * Query param: Filter by the status of the report.
     */
    status?: 'accepted' | 'in_review';
    /**
     * Query param: Filter by the type of the report.
     */
    type?: 'PHISH' | 'GEN' | 'THREAT' | 'DMCA' | 'EMER' | 'TM' | 'REG_WHO' | 'NCSEI' | 'NETWORK';
}
export interface AbuseReportGetParams {
    /**
     * Cloudflare Account ID
     */
    account_id: string;
}
export declare namespace AbuseReports {
    export { type AbuseReportCreateResponse as AbuseReportCreateResponse, type AbuseReportListResponse as AbuseReportListResponse, type AbuseReportGetResponse as AbuseReportGetResponse, type AbuseReportListResponsesV4PagePagination as AbuseReportListResponsesV4PagePagination, type AbuseReportCreateParams as AbuseReportCreateParams, type AbuseReportListParams as AbuseReportListParams, type AbuseReportGetParams as AbuseReportGetParams, };
    export { Submitted as Submitted, BaseSubmitted as BaseSubmitted, type SubmittedListResponse as SubmittedListResponse, type SubmittedGetResponse as SubmittedGetResponse, type SubmittedListResponsesV4PagePagination as SubmittedListResponsesV4PagePagination, type SubmittedListParams as SubmittedListParams, type SubmittedGetParams as SubmittedGetParams, };
    export { Mitigations as Mitigations, BaseMitigations as BaseMitigations, type MitigationListResponse as MitigationListResponse, type MitigationReviewResponse as MitigationReviewResponse, type MitigationListResponsesV4PagePagination as MitigationListResponsesV4PagePagination, type MitigationReviewResponsesSinglePage as MitigationReviewResponsesSinglePage, type MitigationListParams as MitigationListParams, type MitigationReviewParams as MitigationReviewParams, };
}
//# sourceMappingURL=abuse-reports.d.mts.map