/**
 * Cloudflare RUM API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service rum
 */
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 ListRulesRequest {
    rulesetId: string;
    /** Identifier. */
    accountId: string;
}
export declare const ListRulesRequest: Schema.Schema<ListRulesRequest>;
export interface ListRulesResponse {
    /** A list of rules. */
    rules?: {
        id?: string | null;
        created?: string | null;
        host?: string | null;
        inclusive?: boolean | null;
        isPaused?: boolean | null;
        paths?: string[] | null;
        priority?: number | null;
    }[] | null;
    ruleset?: {
        id?: string | null;
        enabled?: boolean | null;
        zoneName?: string | null;
        zoneTag?: string | null;
    } | null;
}
export declare const ListRulesResponse: Schema.Schema<ListRulesResponse>;
export type ListRulesError = DefaultErrors;
export declare const listRules: API.OperationMethod<ListRulesRequest, ListRulesResponse, ListRulesError, Credentials | HttpClient.HttpClient>;
export interface CreateRuleRequest {
    rulesetId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Body param: */
    host?: string;
    /** Body param: Whether the rule includes or excludes traffic from being measured. */
    inclusive?: boolean;
    /** Body param: Whether the rule is paused or not. */
    isPaused?: boolean;
    /** Body param: */
    paths?: string[];
}
export declare const CreateRuleRequest: Schema.Schema<CreateRuleRequest>;
export interface CreateRuleResponse {
    /** The Web Analytics rule identifier. */
    id?: string | null;
    created?: string | null;
    /** The hostname the rule will be applied to. */
    host?: string | null;
    /** Whether the rule includes or excludes traffic from being measured. */
    inclusive?: boolean | null;
    /** Whether the rule is paused or not. */
    isPaused?: boolean | null;
    /** The paths the rule will be applied to. */
    paths?: string[] | null;
    priority?: number | 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 {
    rulesetId: string;
    ruleId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Body param: */
    host?: string;
    /** Body param: Whether the rule includes or excludes traffic from being measured. */
    inclusive?: boolean;
    /** Body param: Whether the rule is paused or not. */
    isPaused?: boolean;
    /** Body param: */
    paths?: string[];
}
export declare const UpdateRuleRequest: Schema.Schema<UpdateRuleRequest>;
export interface UpdateRuleResponse {
    /** The Web Analytics rule identifier. */
    id?: string | null;
    created?: string | null;
    /** The hostname the rule will be applied to. */
    host?: string | null;
    /** Whether the rule includes or excludes traffic from being measured. */
    inclusive?: boolean | null;
    /** Whether the rule is paused or not. */
    isPaused?: boolean | null;
    /** The paths the rule will be applied to. */
    paths?: string[] | null;
    priority?: number | 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 DeleteRuleRequest {
    rulesetId: string;
    ruleId: string;
    /** Identifier. */
    accountId: string;
}
export declare const DeleteRuleRequest: Schema.Schema<DeleteRuleRequest>;
export interface DeleteRuleResponse {
    /** The Web Analytics rule identifier. */
    id?: string | 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 BulkCreateRulesRequest {
    rulesetId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Body param: A list of rule identifiers to delete. */
    deleteRules?: string[];
    /** Body param: A list of rules to create or update. */
    rules?: {
        id?: string;
        host?: string;
        inclusive?: boolean;
        isPaused?: boolean;
        paths?: string[];
    }[];
}
export declare const BulkCreateRulesRequest: Schema.Schema<BulkCreateRulesRequest>;
export interface BulkCreateRulesResponse {
    /** A list of rules. */
    rules?: {
        id?: string | null;
        created?: string | null;
        host?: string | null;
        inclusive?: boolean | null;
        isPaused?: boolean | null;
        paths?: string[] | null;
        priority?: number | null;
    }[] | null;
    ruleset?: {
        id?: string | null;
        enabled?: boolean | null;
        zoneName?: string | null;
        zoneTag?: string | null;
    } | null;
}
export declare const BulkCreateRulesResponse: Schema.Schema<BulkCreateRulesResponse>;
export type BulkCreateRulesError = DefaultErrors;
export declare const bulkCreateRules: API.OperationMethod<BulkCreateRulesRequest, BulkCreateRulesResponse, BulkCreateRulesError, Credentials | HttpClient.HttpClient>;
export interface GetSiteInfoRequest {
    siteId: string;
    /** Identifier. */
    accountId: string;
}
export declare const GetSiteInfoRequest: Schema.Schema<GetSiteInfoRequest>;
export interface GetSiteInfoResponse {
    /** If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. */
    autoInstall?: boolean | null;
    created?: string | null;
    /** A list of rules. */
    rules?: {
        id?: string | null;
        created?: string | null;
        host?: string | null;
        inclusive?: boolean | null;
        isPaused?: boolean | null;
        paths?: string[] | null;
        priority?: number | null;
    }[] | null;
    ruleset?: {
        id?: string | null;
        enabled?: boolean | null;
        zoneName?: string | null;
        zoneTag?: string | null;
    } | null;
    /** The Web Analytics site identifier. */
    siteTag?: string | null;
    /** The Web Analytics site token. */
    siteToken?: string | null;
    /** Encoded JavaScript snippet. */
    snippet?: string | null;
}
export declare const GetSiteInfoResponse: Schema.Schema<GetSiteInfoResponse>;
export type GetSiteInfoError = DefaultErrors;
export declare const getSiteInfo: API.OperationMethod<GetSiteInfoRequest, GetSiteInfoResponse, GetSiteInfoError, Credentials | HttpClient.HttpClient>;
export interface ListSiteInfosRequest {
    /** Path param: Identifier. */
    accountId: string;
    page?: number;
    perPage?: number;
    /** Query param: The property used to sort the list of results. */
    orderBy?: "host" | "created";
}
export declare const ListSiteInfosRequest: Schema.Schema<ListSiteInfosRequest>;
export interface ListSiteInfosResponse {
    result: {
        autoInstall?: boolean | null;
        created?: string | null;
        rules?: {
            id?: string | null;
            created?: string | null;
            host?: string | null;
            inclusive?: boolean | null;
            isPaused?: boolean | null;
            paths?: string[] | null;
            priority?: number | null;
        }[] | null;
        ruleset?: {
            id?: string | null;
            enabled?: boolean | null;
            zoneName?: string | null;
            zoneTag?: string | null;
        } | null;
        siteTag?: string | null;
        siteToken?: string | null;
        snippet?: string | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListSiteInfosResponse: Schema.Schema<ListSiteInfosResponse>;
export type ListSiteInfosError = DefaultErrors;
export declare const listSiteInfos: API.PaginatedOperationMethod<ListSiteInfosRequest, ListSiteInfosResponse, ListSiteInfosError, Credentials | HttpClient.HttpClient>;
export interface CreateSiteInfoRequest {
    /** Path param: Identifier. */
    accountId: string;
    /** Body param: If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. */
    autoInstall?: boolean;
    /** Body param: The hostname to use for gray-clouded sites. */
    host?: string;
    /** Body param: The zone identifier. */
    zoneTag?: string;
}
export declare const CreateSiteInfoRequest: Schema.Schema<CreateSiteInfoRequest>;
export interface CreateSiteInfoResponse {
    /** If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. */
    autoInstall?: boolean | null;
    created?: string | null;
    /** A list of rules. */
    rules?: {
        id?: string | null;
        created?: string | null;
        host?: string | null;
        inclusive?: boolean | null;
        isPaused?: boolean | null;
        paths?: string[] | null;
        priority?: number | null;
    }[] | null;
    ruleset?: {
        id?: string | null;
        enabled?: boolean | null;
        zoneName?: string | null;
        zoneTag?: string | null;
    } | null;
    /** The Web Analytics site identifier. */
    siteTag?: string | null;
    /** The Web Analytics site token. */
    siteToken?: string | null;
    /** Encoded JavaScript snippet. */
    snippet?: string | null;
}
export declare const CreateSiteInfoResponse: Schema.Schema<CreateSiteInfoResponse>;
export type CreateSiteInfoError = DefaultErrors;
export declare const createSiteInfo: API.OperationMethod<CreateSiteInfoRequest, CreateSiteInfoResponse, CreateSiteInfoError, Credentials | HttpClient.HttpClient>;
export interface UpdateSiteInfoRequest {
    siteId: string;
    /** Path param: Identifier. */
    accountId: string;
    /** Body param: If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. */
    autoInstall?: boolean;
    /** Body param: Enables or disables RUM. This option can be used only when auto_install is set to true. */
    enabled?: boolean;
    /** Body param: The hostname to use for gray-clouded sites. */
    host?: string;
    /** Body param: If enabled, the JavaScript snippet will not be injected for visitors from the EU. */
    lite?: boolean;
    /** Body param: The zone identifier. */
    zoneTag?: string;
}
export declare const UpdateSiteInfoRequest: Schema.Schema<UpdateSiteInfoRequest>;
export interface UpdateSiteInfoResponse {
    /** If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. */
    autoInstall?: boolean | null;
    created?: string | null;
    /** A list of rules. */
    rules?: {
        id?: string | null;
        created?: string | null;
        host?: string | null;
        inclusive?: boolean | null;
        isPaused?: boolean | null;
        paths?: string[] | null;
        priority?: number | null;
    }[] | null;
    ruleset?: {
        id?: string | null;
        enabled?: boolean | null;
        zoneName?: string | null;
        zoneTag?: string | null;
    } | null;
    /** The Web Analytics site identifier. */
    siteTag?: string | null;
    /** The Web Analytics site token. */
    siteToken?: string | null;
    /** Encoded JavaScript snippet. */
    snippet?: string | null;
}
export declare const UpdateSiteInfoResponse: Schema.Schema<UpdateSiteInfoResponse>;
export type UpdateSiteInfoError = DefaultErrors;
export declare const updateSiteInfo: API.OperationMethod<UpdateSiteInfoRequest, UpdateSiteInfoResponse, UpdateSiteInfoError, Credentials | HttpClient.HttpClient>;
export interface DeleteSiteInfoRequest {
    siteId: string;
    /** Identifier. */
    accountId: string;
}
export declare const DeleteSiteInfoRequest: Schema.Schema<DeleteSiteInfoRequest>;
export interface DeleteSiteInfoResponse {
    /** The Web Analytics site identifier. */
    siteTag?: string | null;
}
export declare const DeleteSiteInfoResponse: Schema.Schema<DeleteSiteInfoResponse>;
export type DeleteSiteInfoError = DefaultErrors;
export declare const deleteSiteInfo: API.OperationMethod<DeleteSiteInfoRequest, DeleteSiteInfoResponse, DeleteSiteInfoError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=rum.d.ts.map