/**
 * Cloudflare MAGIC-NETWORK-MONITORING API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service magic-network-monitoring
 */
import * as Schema from "effect/Schema";
import type * as HttpClient from "effect/unstable/http/HttpClient";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import { type DefaultErrors } from "../errors.ts";
export interface GetConfigRequest {
    accountId: string;
}
export declare const GetConfigRequest: Schema.Schema<GetConfigRequest>;
export interface GetConfigResponse {
    /** Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router. */
    defaultSampling: number;
    /** The account name. */
    name: string;
    routerIps: string[];
    warpDevices: {
        id: string;
        name: string;
        routerIp: string;
    }[];
}
export declare const GetConfigResponse: Schema.Schema<GetConfigResponse>;
export type GetConfigError = DefaultErrors;
export declare const getConfig: API.OperationMethod<GetConfigRequest, GetConfigResponse, GetConfigError, Credentials | HttpClient.HttpClient>;
export interface CreateConfigRequest {
    /** Path param: */
    accountId: string;
    /** Body param: Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router. */
    defaultSampling: number;
    /** Body param: The account name. */
    name: string;
    /** Body param: */
    routerIps?: string[];
    /** Body param: */
    warpDevices?: {
        id: string;
        name: string;
        routerIp: string;
    }[];
}
export declare const CreateConfigRequest: Schema.Schema<CreateConfigRequest>;
export interface CreateConfigResponse {
    /** Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router. */
    defaultSampling: number;
    /** The account name. */
    name: string;
    routerIps: string[];
    warpDevices: {
        id: string;
        name: string;
        routerIp: string;
    }[];
}
export declare const CreateConfigResponse: Schema.Schema<CreateConfigResponse>;
export type CreateConfigError = DefaultErrors;
export declare const createConfig: API.OperationMethod<CreateConfigRequest, CreateConfigResponse, CreateConfigError, Credentials | HttpClient.HttpClient>;
export interface UpdateConfigRequest {
    /** Path param: */
    accountId: string;
    /** Body param: Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router. */
    defaultSampling: number;
    /** Body param: The account name. */
    name: string;
    /** Body param: */
    routerIps?: string[];
    /** Body param: */
    warpDevices?: {
        id: string;
        name: string;
        routerIp: string;
    }[];
}
export declare const UpdateConfigRequest: Schema.Schema<UpdateConfigRequest>;
export interface UpdateConfigResponse {
    /** Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router. */
    defaultSampling: number;
    /** The account name. */
    name: string;
    routerIps: string[];
    warpDevices: {
        id: string;
        name: string;
        routerIp: string;
    }[];
}
export declare const UpdateConfigResponse: Schema.Schema<UpdateConfigResponse>;
export type UpdateConfigError = DefaultErrors;
export declare const updateConfig: API.OperationMethod<UpdateConfigRequest, UpdateConfigResponse, UpdateConfigError, Credentials | HttpClient.HttpClient>;
export interface PatchConfigRequest {
    /** Path param: */
    accountId: string;
    /** Body param: Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router. */
    defaultSampling?: number;
    /** Body param: The account name. */
    name?: string;
    /** Body param: */
    routerIps?: string[];
    /** Body param: */
    warpDevices?: {
        id: string;
        name: string;
        routerIp: string;
    }[];
}
export declare const PatchConfigRequest: Schema.Schema<PatchConfigRequest>;
export interface PatchConfigResponse {
    /** Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router. */
    defaultSampling: number;
    /** The account name. */
    name: string;
    routerIps: string[];
    warpDevices: {
        id: string;
        name: string;
        routerIp: string;
    }[];
}
export declare const PatchConfigResponse: Schema.Schema<PatchConfigResponse>;
export type PatchConfigError = DefaultErrors;
export declare const patchConfig: API.OperationMethod<PatchConfigRequest, PatchConfigResponse, PatchConfigError, Credentials | HttpClient.HttpClient>;
export interface DeleteConfigRequest {
    accountId: string;
}
export declare const DeleteConfigRequest: Schema.Schema<DeleteConfigRequest>;
export interface DeleteConfigResponse {
    /** Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router. */
    defaultSampling: number;
    /** The account name. */
    name: string;
    routerIps: string[];
    warpDevices: {
        id: string;
        name: string;
        routerIp: string;
    }[];
}
export declare const DeleteConfigResponse: Schema.Schema<DeleteConfigResponse>;
export type DeleteConfigError = DefaultErrors;
export declare const deleteConfig: API.OperationMethod<DeleteConfigRequest, DeleteConfigResponse, DeleteConfigError, Credentials | HttpClient.HttpClient>;
export interface GetConfigFullRequest {
    accountId: string;
}
export declare const GetConfigFullRequest: Schema.Schema<GetConfigFullRequest>;
export interface GetConfigFullResponse {
    /** Fallback sampling rate of flow messages being sent in packets per second. This should match the packet sampling rate configured on the router. */
    defaultSampling: number;
    /** The account name. */
    name: string;
    routerIps: string[];
    warpDevices: {
        id: string;
        name: string;
        routerIp: string;
    }[];
}
export declare const GetConfigFullResponse: Schema.Schema<GetConfigFullResponse>;
export type GetConfigFullError = DefaultErrors;
export declare const getConfigFull: API.OperationMethod<GetConfigFullRequest, GetConfigFullResponse, GetConfigFullError, Credentials | HttpClient.HttpClient>;
export interface GetRuleRequest {
    ruleId: string;
    accountId: string;
}
export declare const GetRuleRequest: Schema.Schema<GetRuleRequest>;
export interface GetRuleResponse {
    /** Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit. */
    automaticAdvertisement: boolean | null;
    /** The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (\_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters. */
    name: string;
    prefixes: string[];
    /** MNM rule type. */
    type: "threshold" | "zscore" | "advanced_ddos";
    /** The id of the rule. Must be unique. */
    id?: string | null;
    /** The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    bandwidthThreshold?: number | null;
    /** The amount of time that the rule threshold must be exceeded to send an alert notification. The final value must be equivalent to one of the following 8 values ["1m","5m","10m","15m","20m","30m","45m", */
    duration?: "1m" | "5m" | "10m" | "15m" | "20m" | "30m" | "45m" | "60m" | null;
    /** The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    packetThreshold?: number | null;
    /** Prefix match type to be applied for a prefix auto advertisement when using an advanced_ddos rule. */
    prefixMatch?: "exact" | "subnet" | "supernet" | null;
    /** Level of sensitivity set for zscore rules. */
    zscoreSensitivity?: "low" | "medium" | "high" | null;
    /** Target of the zscore rule analysis. */
    zscoreTarget?: "bits" | "packets" | null;
}
export declare const GetRuleResponse: Schema.Schema<GetRuleResponse>;
export type GetRuleError = DefaultErrors;
export declare const getRule: API.OperationMethod<GetRuleRequest, GetRuleResponse, GetRuleError, Credentials | HttpClient.HttpClient>;
export interface ListRulesRequest {
    accountId: string;
}
export declare const ListRulesRequest: Schema.Schema<ListRulesRequest>;
export interface ListRulesResponse {
    result: ({
        automaticAdvertisement: boolean | null;
        name: string;
        prefixes: string[];
        type: "threshold" | "zscore" | "advanced_ddos";
        id?: string | null;
        bandwidthThreshold?: number | null;
        duration?: "1m" | "5m" | "10m" | "15m" | "20m" | "30m" | "45m" | "60m" | null;
        packetThreshold?: number | null;
        prefixMatch?: "exact" | "subnet" | "supernet" | null;
        zscoreSensitivity?: "low" | "medium" | "high" | null;
        zscoreTarget?: "bits" | "packets" | null;
    } | null)[];
}
export declare const ListRulesResponse: Schema.Schema<ListRulesResponse>;
export type ListRulesError = DefaultErrors;
export declare const listRules: API.PaginatedOperationMethod<ListRulesRequest, ListRulesResponse, ListRulesError, Credentials | HttpClient.HttpClient>;
export interface CreateRuleRequest {
    /** Path param: */
    accountId: string;
    /** Body param: The amount of time that the rule threshold must be exceeded to send an alert notification. The final value must be equivalent to one of the following 8 values ["1m","5m","10m","15m","20m", */
    duration: "1m" | "5m" | "10m" | "15m" | "20m" | "30m" | "45m" | "60m";
    /** Body param: The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (\_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters. */
    name: string;
    /** Body param: Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit. */
    automaticAdvertisement?: boolean | null;
    /** Body param: The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    bandwidth?: number;
    /** Body param: The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    packetThreshold?: number;
    /** Body param: */
    prefixes?: string[];
}
export declare const CreateRuleRequest: Schema.Schema<CreateRuleRequest>;
export interface CreateRuleResponse {
    /** Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit. */
    automaticAdvertisement: boolean | null;
    /** The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (\_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters. */
    name: string;
    prefixes: string[];
    /** MNM rule type. */
    type: "threshold" | "zscore" | "advanced_ddos";
    /** The id of the rule. Must be unique. */
    id?: string | null;
    /** The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    bandwidthThreshold?: number | null;
    /** The amount of time that the rule threshold must be exceeded to send an alert notification. The final value must be equivalent to one of the following 8 values ["1m","5m","10m","15m","20m","30m","45m", */
    duration?: "1m" | "5m" | "10m" | "15m" | "20m" | "30m" | "45m" | "60m" | null;
    /** The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    packetThreshold?: number | null;
    /** Prefix match type to be applied for a prefix auto advertisement when using an advanced_ddos rule. */
    prefixMatch?: "exact" | "subnet" | "supernet" | null;
    /** Level of sensitivity set for zscore rules. */
    zscoreSensitivity?: "low" | "medium" | "high" | null;
    /** Target of the zscore rule analysis. */
    zscoreTarget?: "bits" | "packets" | null;
}
export declare const CreateRuleResponse: Schema.Schema<CreateRuleResponse>;
export type CreateRuleError = DefaultErrors;
export declare const createRule: API.OperationMethod<CreateRuleRequest, CreateRuleResponse, CreateRuleError, Credentials | HttpClient.HttpClient>;
export interface UpdateRuleRequest {
    /** Path param: */
    accountId: string;
    /** Body param: The amount of time that the rule threshold must be exceeded to send an alert notification. The final value must be equivalent to one of the following 8 values ["1m","5m","10m","15m","20m", */
    duration: "1m" | "5m" | "10m" | "15m" | "20m" | "30m" | "45m" | "60m";
    /** Body param: The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (\_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters. */
    name: string;
    /** Body param: The id of the rule. Must be unique. */
    id?: string;
    /** Body param: Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit. */
    automaticAdvertisement?: boolean | null;
    /** Body param: The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    bandwidth?: number;
    /** Body param: The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    packetThreshold?: number;
    /** Body param: */
    prefixes?: string[];
}
export declare const UpdateRuleRequest: Schema.Schema<UpdateRuleRequest>;
export interface UpdateRuleResponse {
    /** Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit. */
    automaticAdvertisement: boolean | null;
    /** The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (\_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters. */
    name: string;
    prefixes: string[];
    /** MNM rule type. */
    type: "threshold" | "zscore" | "advanced_ddos";
    /** The id of the rule. Must be unique. */
    id?: string | null;
    /** The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    bandwidthThreshold?: number | null;
    /** The amount of time that the rule threshold must be exceeded to send an alert notification. The final value must be equivalent to one of the following 8 values ["1m","5m","10m","15m","20m","30m","45m", */
    duration?: "1m" | "5m" | "10m" | "15m" | "20m" | "30m" | "45m" | "60m" | null;
    /** The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    packetThreshold?: number | null;
    /** Prefix match type to be applied for a prefix auto advertisement when using an advanced_ddos rule. */
    prefixMatch?: "exact" | "subnet" | "supernet" | null;
    /** Level of sensitivity set for zscore rules. */
    zscoreSensitivity?: "low" | "medium" | "high" | null;
    /** Target of the zscore rule analysis. */
    zscoreTarget?: "bits" | "packets" | null;
}
export declare const UpdateRuleResponse: Schema.Schema<UpdateRuleResponse>;
export type UpdateRuleError = DefaultErrors;
export declare const updateRule: API.OperationMethod<UpdateRuleRequest, UpdateRuleResponse, UpdateRuleError, Credentials | HttpClient.HttpClient>;
export interface PatchRuleRequest {
    ruleId: string;
    /** Path param: */
    accountId: string;
    /** Body param: Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit. */
    automaticAdvertisement?: boolean | null;
    /** Body param: The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    bandwidth?: number;
    /** Body param: The amount of time that the rule threshold must be exceeded to send an alert notification. The final value must be equivalent to one of the following 8 values ["1m","5m","10m","15m","20m", */
    duration?: "1m" | "5m" | "10m" | "15m" | "20m" | "30m" | "45m" | "60m";
    /** Body param: The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (\_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters. */
    name?: string;
    /** Body param: The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    packetThreshold?: number;
    /** Body param: */
    prefixes?: string[];
}
export declare const PatchRuleRequest: Schema.Schema<PatchRuleRequest>;
export interface PatchRuleResponse {
    /** Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit. */
    automaticAdvertisement: boolean | null;
    /** The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (\_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters. */
    name: string;
    prefixes: string[];
    /** MNM rule type. */
    type: "threshold" | "zscore" | "advanced_ddos";
    /** The id of the rule. Must be unique. */
    id?: string | null;
    /** The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    bandwidthThreshold?: number | null;
    /** The amount of time that the rule threshold must be exceeded to send an alert notification. The final value must be equivalent to one of the following 8 values ["1m","5m","10m","15m","20m","30m","45m", */
    duration?: "1m" | "5m" | "10m" | "15m" | "20m" | "30m" | "45m" | "60m" | null;
    /** The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    packetThreshold?: number | null;
    /** Prefix match type to be applied for a prefix auto advertisement when using an advanced_ddos rule. */
    prefixMatch?: "exact" | "subnet" | "supernet" | null;
    /** Level of sensitivity set for zscore rules. */
    zscoreSensitivity?: "low" | "medium" | "high" | null;
    /** Target of the zscore rule analysis. */
    zscoreTarget?: "bits" | "packets" | null;
}
export declare const PatchRuleResponse: Schema.Schema<PatchRuleResponse>;
export type PatchRuleError = DefaultErrors;
export declare const patchRule: API.OperationMethod<PatchRuleRequest, PatchRuleResponse, PatchRuleError, Credentials | HttpClient.HttpClient>;
export interface DeleteRuleRequest {
    ruleId: string;
    accountId: string;
}
export declare const DeleteRuleRequest: Schema.Schema<DeleteRuleRequest>;
export interface DeleteRuleResponse {
    /** Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit. */
    automaticAdvertisement: boolean | null;
    /** The name of the rule. Must be unique. Supports characters A-Z, a-z, 0-9, underscore (\_), dash (-), period (.), and tilde (~). You can’t have a space in the rule name. Max 256 characters. */
    name: string;
    prefixes: string[];
    /** MNM rule type. */
    type: "threshold" | "zscore" | "advanced_ddos";
    /** The id of the rule. Must be unique. */
    id?: string | null;
    /** The number of bits per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    bandwidthThreshold?: number | null;
    /** The amount of time that the rule threshold must be exceeded to send an alert notification. The final value must be equivalent to one of the following 8 values ["1m","5m","10m","15m","20m","30m","45m", */
    duration?: "1m" | "5m" | "10m" | "15m" | "20m" | "30m" | "45m" | "60m" | null;
    /** The number of packets per second for the rule. When this value is exceeded for the set duration, an alert notification is sent. Minimum of 1 and no maximum. */
    packetThreshold?: number | null;
    /** Prefix match type to be applied for a prefix auto advertisement when using an advanced_ddos rule. */
    prefixMatch?: "exact" | "subnet" | "supernet" | null;
    /** Level of sensitivity set for zscore rules. */
    zscoreSensitivity?: "low" | "medium" | "high" | null;
    /** Target of the zscore rule analysis. */
    zscoreTarget?: "bits" | "packets" | null;
}
export declare const DeleteRuleResponse: Schema.Schema<DeleteRuleResponse>;
export type DeleteRuleError = DefaultErrors;
export declare const deleteRule: API.OperationMethod<DeleteRuleRequest, DeleteRuleResponse, DeleteRuleError, Credentials | HttpClient.HttpClient>;
export interface PatchRuleAdvertisementRequest {
    ruleId: string;
    /** Path param: */
    accountId: string;
    /** Body param: */
    body: unknown;
}
export declare const PatchRuleAdvertisementRequest: Schema.Schema<PatchRuleAdvertisementRequest>;
export interface PatchRuleAdvertisementResponse {
    /** Toggle on if you would like Cloudflare to automatically advertise the IP Prefixes within the rule via Magic Transit when the rule is triggered. Only available for users of Magic Transit. */
    automaticAdvertisement: boolean | null;
}
export declare const PatchRuleAdvertisementResponse: Schema.Schema<PatchRuleAdvertisementResponse>;
export type PatchRuleAdvertisementError = DefaultErrors;
export declare const patchRuleAdvertisement: API.OperationMethod<PatchRuleAdvertisementRequest, PatchRuleAdvertisementResponse, PatchRuleAdvertisementError, Credentials | HttpClient.HttpClient>;
export interface CreateVpcFlowTokenRequest {
    accountId: string;
}
export declare const CreateVpcFlowTokenRequest: Schema.Schema<CreateVpcFlowTokenRequest>;
export type CreateVpcFlowTokenResponse = string;
export declare const CreateVpcFlowTokenResponse: Schema.Schema<CreateVpcFlowTokenResponse>;
export type CreateVpcFlowTokenError = DefaultErrors;
export declare const createVpcFlowToken: API.OperationMethod<CreateVpcFlowTokenRequest, CreateVpcFlowTokenResponse, CreateVpcFlowTokenError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=magic-network-monitoring.d.ts.map