import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as SiteInfoAPI from 'cloudflaredev/resources/rum/site-info';
import * as RulesAPI from 'cloudflaredev/resources/rum/rules';
import { V4PagePaginationArray, type V4PagePaginationArrayParams } from 'cloudflaredev/pagination';
export declare class SiteInfo extends APIResource {
    /**
     * Creates a new Web Analytics site.
     */
    create(params: SiteInfoCreateParams, options?: Core.RequestOptions): Core.APIPromise<Site>;
    /**
     * Updates an existing Web Analytics site.
     */
    update(siteId: string, params: SiteInfoUpdateParams, options?: Core.RequestOptions): Core.APIPromise<Site>;
    /**
     * Lists all Web Analytics sites of an account.
     */
    list(params: SiteInfoListParams, options?: Core.RequestOptions): Core.PagePromise<SitesV4PagePaginationArray, Site>;
    /**
     * Deletes an existing Web Analytics site.
     */
    delete(siteId: string, params: SiteInfoDeleteParams, options?: Core.RequestOptions): Core.APIPromise<SiteInfoDeleteResponse>;
    /**
     * Retrieves a Web Analytics site.
     */
    get(siteId: string, params: SiteInfoGetParams, options?: Core.RequestOptions): Core.APIPromise<Site>;
}
export declare class SitesV4PagePaginationArray extends V4PagePaginationArray<Site> {
}
export interface Site {
    /**
     * If enabled, the JavaScript snippet is automatically injected for orange-clouded
     * sites.
     */
    auto_install?: boolean;
    created?: string;
    /**
     * A list of rules.
     */
    rules?: Array<RulesAPI.RUMRule>;
    ruleset?: Site.Ruleset;
    /**
     * The Web Analytics site identifier.
     */
    site_tag?: string;
    /**
     * The Web Analytics site token.
     */
    site_token?: string;
    /**
     * Encoded JavaScript snippet.
     */
    snippet?: string;
}
export declare namespace Site {
    interface Ruleset {
        /**
         * The Web Analytics ruleset identifier.
         */
        id?: string;
        /**
         * Whether the ruleset is enabled.
         */
        enabled?: boolean;
        zone_name?: string;
        /**
         * The zone identifier.
         */
        zone_tag?: string;
    }
}
export interface SiteInfoDeleteResponse {
    /**
     * The Web Analytics site identifier.
     */
    site_tag?: string;
}
export interface SiteInfoCreateParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param: If enabled, the JavaScript snippet is automatically injected for
     * orange-clouded sites.
     */
    auto_install?: boolean;
    /**
     * Body param: The hostname to use for gray-clouded sites.
     */
    host?: string;
    /**
     * Body param: The zone identifier.
     */
    zone_tag?: string;
}
export interface SiteInfoUpdateParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param: If enabled, the JavaScript snippet is automatically injected for
     * orange-clouded sites.
     */
    auto_install?: boolean;
    /**
     * Body param: The hostname to use for gray-clouded sites.
     */
    host?: string;
    /**
     * Body param: The zone identifier.
     */
    zone_tag?: string;
}
export interface SiteInfoListParams extends V4PagePaginationArrayParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Query param: The property used to sort the list of results.
     */
    order_by?: 'host' | 'created';
}
export interface SiteInfoDeleteParams {
    /**
     * Identifier
     */
    account_id: string;
}
export interface SiteInfoGetParams {
    /**
     * Identifier
     */
    account_id: string;
}
export declare namespace SiteInfo {
    export import Site = SiteInfoAPI.Site;
    export import SiteInfoDeleteResponse = SiteInfoAPI.SiteInfoDeleteResponse;
    export import SitesV4PagePaginationArray = SiteInfoAPI.SitesV4PagePaginationArray;
    export import SiteInfoCreateParams = SiteInfoAPI.SiteInfoCreateParams;
    export import SiteInfoUpdateParams = SiteInfoAPI.SiteInfoUpdateParams;
    export import SiteInfoListParams = SiteInfoAPI.SiteInfoListParams;
    export import SiteInfoDeleteParams = SiteInfoAPI.SiteInfoDeleteParams;
    export import SiteInfoGetParams = SiteInfoAPI.SiteInfoGetParams;
}
//# sourceMappingURL=site-info.d.ts.map