import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as RulesAPI from 'cloudflaredev/resources/snippets/rules';
import { SinglePage } from 'cloudflaredev/pagination';
export declare class Rules extends APIResource {
    /**
     * Put Rules
     */
    update(params: RuleUpdateParams, options?: Core.RequestOptions): Core.APIPromise<RuleUpdateResponse>;
    /**
     * Rules
     */
    list(params: RuleListParams, options?: Core.RequestOptions): Core.PagePromise<RuleListResponsesSinglePage, RuleListResponse>;
}
export declare class RuleListResponsesSinglePage extends SinglePage<RuleListResponse> {
}
/**
 * List of snippet rules
 */
export type RuleUpdateResponse = Array<RuleUpdateResponse.RuleUpdateResponseItem>;
export declare namespace RuleUpdateResponse {
    interface RuleUpdateResponseItem {
        description?: string;
        enabled?: boolean;
        expression?: string;
        /**
         * Snippet identifying name
         */
        snippet_name?: string;
    }
}
export interface RuleListResponse {
    description?: string;
    enabled?: boolean;
    expression?: string;
    /**
     * Snippet identifying name
     */
    snippet_name?: string;
}
export interface RuleUpdateParams {
    /**
     * Path param: Identifier
     */
    zone_id: string;
    /**
     * Body param: List of snippet rules
     */
    rules?: Array<RuleUpdateParams.Rule>;
}
export declare namespace RuleUpdateParams {
    interface Rule {
        description?: string;
        enabled?: boolean;
        expression?: string;
        /**
         * Snippet identifying name
         */
        snippet_name?: string;
    }
}
export interface RuleListParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export declare namespace Rules {
    export import RuleUpdateResponse = RulesAPI.RuleUpdateResponse;
    export import RuleListResponse = RulesAPI.RuleListResponse;
    export import RuleListResponsesSinglePage = RulesAPI.RuleListResponsesSinglePage;
    export import RuleUpdateParams = RulesAPI.RuleUpdateParams;
    export import RuleListParams = RulesAPI.RuleListParams;
}
//# sourceMappingURL=rules.d.ts.map