/**
 * Cloudflare INTEL API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service intel
 */
import * as Schema from "effect/Schema";
import * as API from "../client/api.js";
import * as T from "../traits.js";
import {} from "../errors.js";
export const GetAsnRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    asn: Schema.String.pipe(T.HttpPath("asn")),
}).pipe(T.Http({ method: "GET", path: "/accounts/{account_id}/intel/asn/{asn}" }));
export const GetAsnResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Number.pipe(T.ResponsePath("result"));
export const getAsn = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetAsnRequest,
    output: GetAsnResponse,
    errors: [],
}));
export const GetAsnSubnetRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    asn: Schema.String.pipe(T.HttpPath("asn")),
}).pipe(T.Http({
    method: "GET",
    path: "/accounts/{account_id}/intel/asn/{asn}/subnets",
}));
export const GetAsnSubnetResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    asn: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    count: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    ipCountTotal: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    page: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    perPage: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    subnets: Schema.optional(Schema.Union([Schema.Array(Schema.String), Schema.Null])),
}).pipe(Schema.encodeKeys({
    asn: "asn",
    count: "count",
    ipCountTotal: "ip_count_total",
    page: "page",
    perPage: "per_page",
    subnets: "subnets",
}));
export const getAsnSubnet = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetAsnSubnetRequest,
    output: GetAsnSubnetResponse,
    errors: [],
}));
export const ListAttackSurfaceReportIssuesRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    page: Schema.optional(Schema.Number).pipe(T.HttpQuery("page")),
    perPage: Schema.optional(Schema.Number).pipe(T.HttpQuery("per_page")),
    dismissed: Schema.optional(Schema.Boolean).pipe(T.HttpQuery("dismissed")),
    issueClass: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("issue_class")),
    issueClassNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("issue_class~neq")),
    issueType: Schema.optional(Schema.Array(Schema.Literals([
        "compliance_violation",
        "email_security",
        "exposed_infrastructure",
        "insecure_configuration",
        "weak_authentication",
        "configuration_suggestion",
    ]))).pipe(T.HttpQuery("issue_type")),
    issueTypeNeq: Schema.optional(Schema.Array(Schema.Literals([
        "compliance_violation",
        "email_security",
        "exposed_infrastructure",
        "insecure_configuration",
        "weak_authentication",
        "configuration_suggestion",
    ]))).pipe(T.HttpQuery("issue_type~neq")),
    product: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("product")),
    productNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("product~neq")),
    severity: Schema.optional(Schema.Array(Schema.Literals(["low", "moderate", "critical"]))).pipe(T.HttpQuery("severity")),
    severityNeq: Schema.optional(Schema.Array(Schema.Literals(["low", "moderate", "critical"]))).pipe(T.HttpQuery("severity~neq")),
    subject: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("subject")),
    subjectNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("subject~neq")),
}).pipe(T.Http({
    method: "GET",
    path: "/accounts/{account_id}/intel/attack-surface-report/issues",
}));
export const ListAttackSurfaceReportIssuesResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Struct({
        items: Schema.optional(Schema.Union([
            Schema.Array(Schema.Struct({
                count: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
                issues: Schema.optional(Schema.Union([
                    Schema.Array(Schema.Struct({
                        id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                        dismissed: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
                        issueClass: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                        issueType: Schema.optional(Schema.Union([
                            Schema.Literals([
                                "compliance_violation",
                                "email_security",
                                "exposed_infrastructure",
                                "insecure_configuration",
                                "weak_authentication",
                                "configuration_suggestion",
                            ]),
                            Schema.Null,
                        ])),
                        payload: Schema.optional(Schema.Union([
                            Schema.Struct({
                                detectionMethod: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                                zoneTag: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                            }).pipe(Schema.encodeKeys({
                                detectionMethod: "detection_method",
                                zoneTag: "zone_tag",
                            })),
                            Schema.Null,
                        ])),
                        resolveLink: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                        resolveText: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                        severity: Schema.optional(Schema.Union([
                            Schema.Literals(["Low", "Moderate", "Critical"]),
                            Schema.Null,
                        ])),
                        since: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                        subject: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                        timestamp: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                    }).pipe(Schema.encodeKeys({
                        id: "id",
                        dismissed: "dismissed",
                        issueClass: "issue_class",
                        issueType: "issue_type",
                        payload: "payload",
                        resolveLink: "resolve_link",
                        resolveText: "resolve_text",
                        severity: "severity",
                        since: "since",
                        subject: "subject",
                        timestamp: "timestamp",
                    }))),
                    Schema.Null,
                ])),
                page: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
                perPage: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            }).pipe(Schema.encodeKeys({
                count: "count",
                issues: "issues",
                page: "page",
                perPage: "per_page",
            }))),
            Schema.Null,
        ])),
    }),
    resultInfo: Schema.optional(Schema.Union([
        Schema.Struct({
            count: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            page: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            perPage: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            totalCount: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            count: "count",
            page: "page",
            perPage: "per_page",
            totalCount: "total_count",
        })),
        Schema.Null,
    ])),
}).pipe(Schema.encodeKeys({ result: "result", resultInfo: "result_info" }));
export const listAttackSurfaceReportIssues = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListAttackSurfaceReportIssuesRequest,
    output: ListAttackSurfaceReportIssuesResponse,
    errors: [],
    pagination: {
        mode: "page",
        inputToken: "page",
        outputToken: "resultInfo.page",
        items: "result.items",
        pageSize: "perPage",
    },
}));
export const ClassAttackSurfaceReportIssueRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    dismissed: Schema.optional(Schema.Boolean).pipe(T.HttpQuery("dismissed")),
    issueClass: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("issue_class")),
    issueClassNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("issue_class~neq")),
    issueType: Schema.optional(Schema.Array(Schema.Literals([
        "compliance_violation",
        "email_security",
        "exposed_infrastructure",
        "insecure_configuration",
        "weak_authentication",
        "configuration_suggestion",
    ]))).pipe(T.HttpQuery("issue_type")),
    issueTypeNeq: Schema.optional(Schema.Array(Schema.Literals([
        "compliance_violation",
        "email_security",
        "exposed_infrastructure",
        "insecure_configuration",
        "weak_authentication",
        "configuration_suggestion",
    ]))).pipe(T.HttpQuery("issue_type~neq")),
    product: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("product")),
    productNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("product~neq")),
    severity: Schema.optional(Schema.Array(Schema.Literals(["low", "moderate", "critical"]))).pipe(T.HttpQuery("severity")),
    severityNeq: Schema.optional(Schema.Array(Schema.Literals(["low", "moderate", "critical"]))).pipe(T.HttpQuery("severity~neq")),
    subject: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("subject")),
    subjectNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("subject~neq")),
}).pipe(T.Http({
    method: "GET",
    path: "/accounts/{account_id}/intel/attack-surface-report/issues/class",
}));
export const ClassAttackSurfaceReportIssueResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Array(Schema.Struct({
    count: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    value: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
})).pipe(T.ResponsePath("result"));
export const classAttackSurfaceReportIssue = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: ClassAttackSurfaceReportIssueRequest,
    output: ClassAttackSurfaceReportIssueResponse,
    errors: [],
}));
export const DismissAttackSurfaceReportIssueRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    issueId: Schema.String.pipe(T.HttpPath("issueId")),
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    dismiss: Schema.optional(Schema.Boolean),
}).pipe(T.Http({
    method: "PUT",
    path: "/accounts/{account_id}/intel/attack-surface-report/{issueId}/dismiss",
}));
export const DismissAttackSurfaceReportIssueResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    errors: Schema.Array(Schema.Struct({
        code: Schema.Number,
        message: Schema.String,
        documentationUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        source: Schema.optional(Schema.Union([
            Schema.Struct({
                pointer: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            }),
            Schema.Null,
        ])),
    }).pipe(Schema.encodeKeys({
        code: "code",
        message: "message",
        documentationUrl: "documentation_url",
        source: "source",
    }))),
    messages: Schema.Array(Schema.Struct({
        code: Schema.Number,
        message: Schema.String,
        documentationUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        source: Schema.optional(Schema.Union([
            Schema.Struct({
                pointer: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            }),
            Schema.Null,
        ])),
    }).pipe(Schema.encodeKeys({
        code: "code",
        message: "message",
        documentationUrl: "documentation_url",
        source: "source",
    }))),
    success: Schema.Literal(true),
});
export const dismissAttackSurfaceReportIssue = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DismissAttackSurfaceReportIssueRequest,
    output: DismissAttackSurfaceReportIssueResponse,
    errors: [],
}));
export const SeverityAttackSurfaceReportIssueRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    dismissed: Schema.optional(Schema.Boolean).pipe(T.HttpQuery("dismissed")),
    issueClass: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("issue_class")),
    issueClassNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("issue_class~neq")),
    issueType: Schema.optional(Schema.Array(Schema.Literals([
        "compliance_violation",
        "email_security",
        "exposed_infrastructure",
        "insecure_configuration",
        "weak_authentication",
        "configuration_suggestion",
    ]))).pipe(T.HttpQuery("issue_type")),
    issueTypeNeq: Schema.optional(Schema.Array(Schema.Literals([
        "compliance_violation",
        "email_security",
        "exposed_infrastructure",
        "insecure_configuration",
        "weak_authentication",
        "configuration_suggestion",
    ]))).pipe(T.HttpQuery("issue_type~neq")),
    product: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("product")),
    productNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("product~neq")),
    severity: Schema.optional(Schema.Array(Schema.Literals(["low", "moderate", "critical"]))).pipe(T.HttpQuery("severity")),
    severityNeq: Schema.optional(Schema.Array(Schema.Literals(["low", "moderate", "critical"]))).pipe(T.HttpQuery("severity~neq")),
    subject: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("subject")),
    subjectNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("subject~neq")),
}).pipe(T.Http({
    method: "GET",
    path: "/accounts/{account_id}/intel/attack-surface-report/issues/severity",
}));
export const SeverityAttackSurfaceReportIssueResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Array(Schema.Struct({
    count: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    value: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
})).pipe(T.ResponsePath("result"));
export const severityAttackSurfaceReportIssue = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: SeverityAttackSurfaceReportIssueRequest,
    output: SeverityAttackSurfaceReportIssueResponse,
    errors: [],
}));
export const TypeAttackSurfaceReportIssueRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    dismissed: Schema.optional(Schema.Boolean).pipe(T.HttpQuery("dismissed")),
    issueClass: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("issue_class")),
    issueClassNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("issue_class~neq")),
    issueType: Schema.optional(Schema.Array(Schema.Literals([
        "compliance_violation",
        "email_security",
        "exposed_infrastructure",
        "insecure_configuration",
        "weak_authentication",
        "configuration_suggestion",
    ]))).pipe(T.HttpQuery("issue_type")),
    issueTypeNeq: Schema.optional(Schema.Array(Schema.Literals([
        "compliance_violation",
        "email_security",
        "exposed_infrastructure",
        "insecure_configuration",
        "weak_authentication",
        "configuration_suggestion",
    ]))).pipe(T.HttpQuery("issue_type~neq")),
    product: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("product")),
    productNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("product~neq")),
    severity: Schema.optional(Schema.Array(Schema.Literals(["low", "moderate", "critical"]))).pipe(T.HttpQuery("severity")),
    severityNeq: Schema.optional(Schema.Array(Schema.Literals(["low", "moderate", "critical"]))).pipe(T.HttpQuery("severity~neq")),
    subject: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("subject")),
    subjectNeq: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("subject~neq")),
}).pipe(T.Http({
    method: "GET",
    path: "/accounts/{account_id}/intel/attack-surface-report/issues/type",
}));
export const TypeAttackSurfaceReportIssueResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Array(Schema.Struct({
    count: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    value: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
})).pipe(T.ResponsePath("result"));
export const typeAttackSurfaceReportIssue = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: TypeAttackSurfaceReportIssueRequest,
    output: TypeAttackSurfaceReportIssueResponse,
    errors: [],
}));
export const GetAttackSurfaceReportIssueTypeRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/accounts/{account_id}/intel/attack-surface-report/issue-types",
}));
export const GetAttackSurfaceReportIssueTypeResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.String),
});
export const getAttackSurfaceReportIssueType = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: GetAttackSurfaceReportIssueTypeRequest,
    output: GetAttackSurfaceReportIssueTypeResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const ListDnsRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    page: Schema.optional(Schema.Number).pipe(T.HttpQuery("page")),
    perPage: Schema.optional(Schema.Number).pipe(T.HttpQuery("per_page")),
    ipv4: Schema.optional(Schema.String).pipe(T.HttpQuery("ipv4")),
    startEndParams: Schema.optional(Schema.Struct({
        end: Schema.optional(Schema.String),
        start: Schema.optional(Schema.String),
    })).pipe(T.HttpQuery("start_end_params")),
}).pipe(T.Http({ method: "GET", path: "/accounts/{account_id}/intel/dns" }));
export const ListDnsResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Struct({
        items: Schema.optional(Schema.Union([
            Schema.Array(Schema.Struct({
                count: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
                page: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
                perPage: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
                reverseRecords: Schema.optional(Schema.Union([
                    Schema.Array(Schema.Struct({
                        firstSeen: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                        hostname: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                        lastSeen: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                    }).pipe(Schema.encodeKeys({
                        firstSeen: "first_seen",
                        hostname: "hostname",
                        lastSeen: "last_seen",
                    }))),
                    Schema.Null,
                ])),
            }).pipe(Schema.encodeKeys({
                count: "count",
                page: "page",
                perPage: "per_page",
                reverseRecords: "reverse_records",
            }))),
            Schema.Null,
        ])),
    }),
    resultInfo: Schema.optional(Schema.Union([
        Schema.Struct({
            count: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            page: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            perPage: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            totalCount: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            count: "count",
            page: "page",
            perPage: "per_page",
            totalCount: "total_count",
        })),
        Schema.Null,
    ])),
}).pipe(Schema.encodeKeys({ result: "result", resultInfo: "result_info" }));
export const listDns = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListDnsRequest,
    output: ListDnsResponse,
    errors: [],
    pagination: {
        mode: "page",
        inputToken: "page",
        outputToken: "resultInfo.page",
        items: "result.items",
        pageSize: "perPage",
    },
}));
export const GetDomainRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    domain: Schema.optional(Schema.String).pipe(T.HttpQuery("domain")),
}).pipe(T.Http({ method: "GET", path: "/accounts/{account_id}/intel/domain" }));
export const GetDomainResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    additionalInformation: Schema.optional(Schema.Union([
        Schema.Struct({
            suspectedMalwareFamily: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            suspectedMalwareFamily: "suspected_malware_family",
        })),
        Schema.Null,
    ])),
    application: Schema.optional(Schema.Union([
        Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        }),
        Schema.Null,
    ])),
    contentCategories: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            superCategoryId: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            id: "id",
            name: "name",
            superCategoryId: "super_category_id",
        }))),
        Schema.Null,
    ])),
    domain: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    inheritedContentCategories: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            superCategoryId: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            id: "id",
            name: "name",
            superCategoryId: "super_category_id",
        }))),
        Schema.Null,
    ])),
    inheritedFrom: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    inheritedRiskTypes: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            superCategoryId: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            id: "id",
            name: "name",
            superCategoryId: "super_category_id",
        }))),
        Schema.Null,
    ])),
    popularityRank: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    resolvesToRefs: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            value: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        })),
        Schema.Null,
    ])),
    riskScore: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    riskTypes: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            superCategoryId: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            id: "id",
            name: "name",
            superCategoryId: "super_category_id",
        }))),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    additionalInformation: "additional_information",
    application: "application",
    contentCategories: "content_categories",
    domain: "domain",
    inheritedContentCategories: "inherited_content_categories",
    inheritedFrom: "inherited_from",
    inheritedRiskTypes: "inherited_risk_types",
    popularityRank: "popularity_rank",
    resolvesToRefs: "resolves_to_refs",
    riskScore: "risk_score",
    riskTypes: "risk_types",
}))
    .pipe(T.ResponsePath("result"));
export const getDomain = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetDomainRequest,
    output: GetDomainResponse,
    errors: [],
}));
export const GetDomainBulkRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    domain: Schema.optional(Schema.Array(Schema.String)).pipe(T.HttpQuery("domain")),
}).pipe(T.Http({ method: "GET", path: "/accounts/{account_id}/intel/domain/bulk" }));
export const GetDomainBulkResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Array(Schema.Struct({
    additionalInformation: Schema.optional(Schema.Union([
        Schema.Struct({
            suspectedMalwareFamily: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            suspectedMalwareFamily: "suspected_malware_family",
        })),
        Schema.Null,
    ])),
    application: Schema.optional(Schema.Union([
        Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        }),
        Schema.Null,
    ])),
    contentCategories: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            superCategoryId: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            id: "id",
            name: "name",
            superCategoryId: "super_category_id",
        }))),
        Schema.Null,
    ])),
    domain: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    inheritedContentCategories: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            superCategoryId: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            id: "id",
            name: "name",
            superCategoryId: "super_category_id",
        }))),
        Schema.Null,
    ])),
    inheritedFrom: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    inheritedRiskTypes: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            superCategoryId: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            id: "id",
            name: "name",
            superCategoryId: "super_category_id",
        }))),
        Schema.Null,
    ])),
    popularityRank: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    riskScore: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    riskTypes: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            superCategoryId: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            id: "id",
            name: "name",
            superCategoryId: "super_category_id",
        }))),
        Schema.Null,
    ])),
}).pipe(Schema.encodeKeys({
    additionalInformation: "additional_information",
    application: "application",
    contentCategories: "content_categories",
    domain: "domain",
    inheritedContentCategories: "inherited_content_categories",
    inheritedFrom: "inherited_from",
    inheritedRiskTypes: "inherited_risk_types",
    popularityRank: "popularity_rank",
    riskScore: "risk_score",
    riskTypes: "risk_types",
}))).pipe(T.ResponsePath("result"));
export const getDomainBulk = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetDomainBulkRequest,
    output: GetDomainBulkResponse,
    errors: [],
}));
export const GetDomainHistoryRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    domain: Schema.optional(Schema.String).pipe(T.HttpQuery("domain")),
}).pipe(T.Http({
    method: "GET",
    path: "/accounts/{account_id}/intel/domain-history",
}));
export const GetDomainHistoryResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Array(Schema.Struct({
    categorizations: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            categories: Schema.optional(Schema.Union([
                Schema.Array(Schema.Struct({
                    id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
                    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                })),
                Schema.Null,
            ])),
            end: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            start: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        })),
        Schema.Null,
    ])),
    domain: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
})).pipe(T.ResponsePath("result"));
export const getDomainHistory = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetDomainHistoryRequest,
    output: GetDomainHistoryResponse,
    errors: [],
}));
export const GetIndicatorFeedRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    feedId: Schema.Number.pipe(T.HttpPath("feedId")),
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/accounts/{account_id}/intel/indicator-feeds/{feedId}",
}));
export const GetIndicatorFeedResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    isAttributable: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    isDownloadable: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    isPublic: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    latestUploadStatus: Schema.optional(Schema.Union([
        Schema.Literals([
            "Mirroring",
            "Unifying",
            "Loading",
            "Provisioning",
            "Complete",
            "Error",
        ]),
        Schema.Null,
    ])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    providerId: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    providerName: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    createdOn: "created_on",
    description: "description",
    isAttributable: "is_attributable",
    isDownloadable: "is_downloadable",
    isPublic: "is_public",
    latestUploadStatus: "latest_upload_status",
    modifiedOn: "modified_on",
    name: "name",
    providerId: "provider_id",
    providerName: "provider_name",
}))
    .pipe(T.ResponsePath("result"));
export const getIndicatorFeed = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetIndicatorFeedRequest,
    output: GetIndicatorFeedResponse,
    errors: [],
}));
export const ListIndicatorFeedsRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/accounts/{account_id}/intel/indicator-feeds",
}));
export const ListIndicatorFeedsResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        isAttributable: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        isDownloadable: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        isPublic: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    }).pipe(Schema.encodeKeys({
        id: "id",
        createdOn: "created_on",
        description: "description",
        isAttributable: "is_attributable",
        isDownloadable: "is_downloadable",
        isPublic: "is_public",
        modifiedOn: "modified_on",
        name: "name",
    }))),
});
export const listIndicatorFeeds = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListIndicatorFeedsRequest,
    output: ListIndicatorFeedsResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const CreateIndicatorFeedRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    description: Schema.optional(Schema.String),
    name: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "POST",
    path: "/accounts/{account_id}/intel/indicator-feeds",
}));
export const CreateIndicatorFeedResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    isAttributable: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    isDownloadable: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    isPublic: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    createdOn: "created_on",
    description: "description",
    isAttributable: "is_attributable",
    isDownloadable: "is_downloadable",
    isPublic: "is_public",
    modifiedOn: "modified_on",
    name: "name",
}))
    .pipe(T.ResponsePath("result"));
export const createIndicatorFeed = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreateIndicatorFeedRequest,
    output: CreateIndicatorFeedResponse,
    errors: [],
}));
export const UpdateIndicatorFeedRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    feedId: Schema.Number.pipe(T.HttpPath("feedId")),
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    description: Schema.optional(Schema.String),
    isAttributable: Schema.optional(Schema.Boolean),
    isDownloadable: Schema.optional(Schema.Boolean),
    isPublic: Schema.optional(Schema.Boolean),
    name: Schema.optional(Schema.String),
}).pipe(Schema.encodeKeys({
    description: "description",
    isAttributable: "is_attributable",
    isDownloadable: "is_downloadable",
    isPublic: "is_public",
    name: "name",
}), T.Http({
    method: "PUT",
    path: "/accounts/{account_id}/intel/indicator-feeds/{feedId}",
}));
export const UpdateIndicatorFeedResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    isAttributable: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    isDownloadable: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    isPublic: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    createdOn: "created_on",
    description: "description",
    isAttributable: "is_attributable",
    isDownloadable: "is_downloadable",
    isPublic: "is_public",
    modifiedOn: "modified_on",
    name: "name",
}))
    .pipe(T.ResponsePath("result"));
export const updateIndicatorFeed = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UpdateIndicatorFeedRequest,
    output: UpdateIndicatorFeedResponse,
    errors: [],
}));
export const DataIndicatorFeedRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    feedId: Schema.Number.pipe(T.HttpPath("feedId")),
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/accounts/{account_id}/intel/indicator-feeds/{feedId}/data",
}));
export const DataIndicatorFeedResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.String;
export const dataIndicatorFeed = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DataIndicatorFeedRequest,
    output: DataIndicatorFeedResponse,
    errors: [],
}));
export const ListIndicatorFeedPermissionsRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/accounts/{account_id}/intel/indicator-feeds/permissions/view",
}));
export const ListIndicatorFeedPermissionsResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Array(Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    isAttributable: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    isDownloadable: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    isPublic: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
}).pipe(Schema.encodeKeys({
    id: "id",
    description: "description",
    isAttributable: "is_attributable",
    isDownloadable: "is_downloadable",
    isPublic: "is_public",
    name: "name",
}))).pipe(T.ResponsePath("result"));
export const listIndicatorFeedPermissions = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: ListIndicatorFeedPermissionsRequest,
    output: ListIndicatorFeedPermissionsResponse,
    errors: [],
}));
export const CreateIndicatorFeedPermissionRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    accountTag: Schema.optional(Schema.String),
    feedId: Schema.optional(Schema.Number),
}).pipe(Schema.encodeKeys({ accountTag: "account_tag", feedId: "feed_id" }), T.Http({
    method: "PUT",
    path: "/accounts/{account_id}/intel/indicator-feeds/permissions/add",
}));
export const CreateIndicatorFeedPermissionResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    success: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
}).pipe(T.ResponsePath("result"));
export const createIndicatorFeedPermission = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreateIndicatorFeedPermissionRequest,
    output: CreateIndicatorFeedPermissionResponse,
    errors: [],
}));
export const DeleteIndicatorFeedPermissionRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    accountTag: Schema.optional(Schema.String),
    feedId: Schema.optional(Schema.Number),
}).pipe(Schema.encodeKeys({ accountTag: "account_tag", feedId: "feed_id" }), T.Http({
    method: "PUT",
    path: "/accounts/{account_id}/intel/indicator-feeds/permissions/remove",
}));
export const DeleteIndicatorFeedPermissionResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    success: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
}).pipe(T.ResponsePath("result"));
export const deleteIndicatorFeedPermission = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DeleteIndicatorFeedPermissionRequest,
    output: DeleteIndicatorFeedPermissionResponse,
    errors: [],
}));
export const PutIndicatorFeedSnapshotRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    feedId: Schema.Number.pipe(T.HttpPath("feedId")),
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    source: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "PUT",
    path: "/accounts/{account_id}/intel/indicator-feeds/{feedId}/snapshot",
    contentType: "multipart",
}));
export const PutIndicatorFeedSnapshotResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    fileId: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    filename: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    status: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
})
    .pipe(Schema.encodeKeys({
    fileId: "file_id",
    filename: "filename",
    status: "status",
}))
    .pipe(T.ResponsePath("result"));
export const putIndicatorFeedSnapshot = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: PutIndicatorFeedSnapshotRequest,
    output: PutIndicatorFeedSnapshotResponse,
    errors: [],
}));
export const GetIpRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    ipv4: Schema.optional(Schema.String).pipe(T.HttpQuery("ipv4")),
    ipv6: Schema.optional(Schema.String).pipe(T.HttpQuery("ipv6")),
}).pipe(T.Http({ method: "GET", path: "/accounts/{account_id}/intel/ip" }));
export const GetIpResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Array(Schema.Struct({
    belongsToRef: Schema.optional(Schema.Union([
        Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            country: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            type: Schema.optional(Schema.Union([
                Schema.Literals(["hosting_provider", "isp", "organization"]),
                Schema.Null,
            ])),
            value: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        }),
        Schema.Null,
    ])),
    ip: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    riskTypes: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            superCategoryId: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            id: "id",
            name: "name",
            superCategoryId: "super_category_id",
        }))),
        Schema.Null,
    ])),
}).pipe(Schema.encodeKeys({
    belongsToRef: "belongs_to_ref",
    ip: "ip",
    riskTypes: "risk_types",
}))).pipe(T.ResponsePath("result"));
export const getIp = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetIpRequest,
    output: GetIpResponse,
    errors: [],
}));
export const GetIpListRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
}).pipe(T.Http({ method: "GET", path: "/accounts/{account_id}/intel/ip-list" }));
export const GetIpListResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    })),
});
export const getIpList = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: GetIpListRequest,
    output: GetIpListResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const CreateMiscategorizationRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    contentAdds: Schema.optional(Schema.Array(Schema.Number)),
    contentRemoves: Schema.optional(Schema.Array(Schema.Number)),
    indicatorType: Schema.optional(Schema.Literals(["domain", "ipv4", "ipv6", "url"])),
    ip: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    securityAdds: Schema.optional(Schema.Array(Schema.Number)),
    securityRemoves: Schema.optional(Schema.Array(Schema.Number)),
    url: Schema.optional(Schema.String),
}).pipe(Schema.encodeKeys({
    contentAdds: "content_adds",
    contentRemoves: "content_removes",
    indicatorType: "indicator_type",
    ip: "ip",
    securityAdds: "security_adds",
    securityRemoves: "security_removes",
    url: "url",
}), T.Http({
    method: "POST",
    path: "/accounts/{account_id}/intel/miscategorization",
}));
export const CreateMiscategorizationResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    errors: Schema.Array(Schema.Struct({
        code: Schema.Number,
        message: Schema.String,
        documentationUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        source: Schema.optional(Schema.Union([
            Schema.Struct({
                pointer: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            }),
            Schema.Null,
        ])),
    }).pipe(Schema.encodeKeys({
        code: "code",
        message: "message",
        documentationUrl: "documentation_url",
        source: "source",
    }))),
    messages: Schema.Array(Schema.Struct({
        code: Schema.Number,
        message: Schema.String,
        documentationUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        source: Schema.optional(Schema.Union([
            Schema.Struct({
                pointer: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            }),
            Schema.Null,
        ])),
    }).pipe(Schema.encodeKeys({
        code: "code",
        message: "message",
        documentationUrl: "documentation_url",
        source: "source",
    }))),
    success: Schema.Literal(true),
});
export const createMiscategorization = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreateMiscategorizationRequest,
    output: CreateMiscategorizationResponse,
    errors: [],
}));
export const ListSinkholesRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
}).pipe(T.Http({ method: "GET", path: "/accounts/{account_id}/intel/sinkholes" }));
export const ListSinkholesResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        accountTag: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        r2Bucket: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        r2Id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    }).pipe(Schema.encodeKeys({
        id: "id",
        accountTag: "account_tag",
        createdOn: "created_on",
        modifiedOn: "modified_on",
        name: "name",
        r2Bucket: "r2_bucket",
        r2Id: "r2_id",
    }))),
});
export const listSinkholes = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListSinkholesRequest,
    output: ListSinkholesResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const GetWhoiRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    domain: Schema.optional(Schema.String).pipe(T.HttpQuery("domain")),
}).pipe(T.Http({ method: "GET", path: "/accounts/{account_id}/intel/whois" }));
export const GetWhoiResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    dnssec: Schema.Boolean,
    domain: Schema.String,
    extension: Schema.String,
    found: Schema.Boolean,
    nameservers: Schema.Array(Schema.String),
    punycode: Schema.String,
    registrant: Schema.String,
    registrar: Schema.String,
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativeCity: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativeCountry: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativeEmail: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativeFax: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativeFaxExt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativeId: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativeName: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativeOrg: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativePhone: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativePhoneExt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativePostalCode: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativeProvince: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativeReferralUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    administrativeStreet: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingCity: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingCountry: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingEmail: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingFax: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingFaxExt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingId: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingName: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingOrg: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingPhone: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingPhoneExt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingPostalCode: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingProvince: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingReferralUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    billingStreet: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    createdDate: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    createdDateRaw: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    expirationDate: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    expirationDateRaw: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantCity: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantCountry: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantEmail: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantFax: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantFaxExt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantId: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantName: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantOrg: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantPhone: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantPhoneExt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantPostalCode: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantProvince: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantReferralUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrantStreet: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarCity: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarCountry: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarEmail: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarFax: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarFaxExt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarId: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarName: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarOrg: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarPhone: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarPhoneExt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarPostalCode: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarProvince: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarReferralUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    registrarStreet: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    status: Schema.optional(Schema.Union([Schema.Array(Schema.String), Schema.Null])),
    technicalCity: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalCountry: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalEmail: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalFax: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalFaxExt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalId: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalName: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalOrg: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalPhone: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalPhoneExt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalPostalCode: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalProvince: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalReferralUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    technicalStreet: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    updatedDate: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    updatedDateRaw: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    whoisServer: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
})
    .pipe(Schema.encodeKeys({
    dnssec: "dnssec",
    domain: "domain",
    extension: "extension",
    found: "found",
    nameservers: "nameservers",
    punycode: "punycode",
    registrant: "registrant",
    registrar: "registrar",
    id: "id",
    administrativeCity: "administrative_city",
    administrativeCountry: "administrative_country",
    administrativeEmail: "administrative_email",
    administrativeFax: "administrative_fax",
    administrativeFaxExt: "administrative_fax_ext",
    administrativeId: "administrative_id",
    administrativeName: "administrative_name",
    administrativeOrg: "administrative_org",
    administrativePhone: "administrative_phone",
    administrativePhoneExt: "administrative_phone_ext",
    administrativePostalCode: "administrative_postal_code",
    administrativeProvince: "administrative_province",
    administrativeReferralUrl: "administrative_referral_url",
    administrativeStreet: "administrative_street",
    billingCity: "billing_city",
    billingCountry: "billing_country",
    billingEmail: "billing_email",
    billingFax: "billing_fax",
    billingFaxExt: "billing_fax_ext",
    billingId: "billing_id",
    billingName: "billing_name",
    billingOrg: "billing_org",
    billingPhone: "billing_phone",
    billingPhoneExt: "billing_phone_ext",
    billingPostalCode: "billing_postal_code",
    billingProvince: "billing_province",
    billingReferralUrl: "billing_referral_url",
    billingStreet: "billing_street",
    createdDate: "created_date",
    createdDateRaw: "created_date_raw",
    expirationDate: "expiration_date",
    expirationDateRaw: "expiration_date_raw",
    registrantCity: "registrant_city",
    registrantCountry: "registrant_country",
    registrantEmail: "registrant_email",
    registrantFax: "registrant_fax",
    registrantFaxExt: "registrant_fax_ext",
    registrantId: "registrant_id",
    registrantName: "registrant_name",
    registrantOrg: "registrant_org",
    registrantPhone: "registrant_phone",
    registrantPhoneExt: "registrant_phone_ext",
    registrantPostalCode: "registrant_postal_code",
    registrantProvince: "registrant_province",
    registrantReferralUrl: "registrant_referral_url",
    registrantStreet: "registrant_street",
    registrarCity: "registrar_city",
    registrarCountry: "registrar_country",
    registrarEmail: "registrar_email",
    registrarFax: "registrar_fax",
    registrarFaxExt: "registrar_fax_ext",
    registrarId: "registrar_id",
    registrarName: "registrar_name",
    registrarOrg: "registrar_org",
    registrarPhone: "registrar_phone",
    registrarPhoneExt: "registrar_phone_ext",
    registrarPostalCode: "registrar_postal_code",
    registrarProvince: "registrar_province",
    registrarReferralUrl: "registrar_referral_url",
    registrarStreet: "registrar_street",
    status: "status",
    technicalCity: "technical_city",
    technicalCountry: "technical_country",
    technicalEmail: "technical_email",
    technicalFax: "technical_fax",
    technicalFaxExt: "technical_fax_ext",
    technicalId: "technical_id",
    technicalName: "technical_name",
    technicalOrg: "technical_org",
    technicalPhone: "technical_phone",
    technicalPhoneExt: "technical_phone_ext",
    technicalPostalCode: "technical_postal_code",
    technicalProvince: "technical_province",
    technicalReferralUrl: "technical_referral_url",
    technicalStreet: "technical_street",
    updatedDate: "updated_date",
    updatedDateRaw: "updated_date_raw",
    whoisServer: "whois_server",
}))
    .pipe(T.ResponsePath("result"));
export const getWhoi = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetWhoiRequest,
    output: GetWhoiResponse,
    errors: [],
}));
//# sourceMappingURL=intel.js.map