import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as RulesAPI from 'cloudflare/resources/snippets/rules';
export declare class Rules extends APIResource {
    /**
     * Put Rules
     */
    update(zoneIdentifier: string, body?: RuleUpdateParams, options?: Core.RequestOptions): Core.APIPromise<RuleUpdateResponse>;
    update(zoneIdentifier: string, options?: Core.RequestOptions): Core.APIPromise<RuleUpdateResponse>;
    /**
     * Rules
     */
    list(zoneIdentifier: string, options?: Core.RequestOptions): Core.APIPromise<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;
    }
}
/**
 * List of snippet rules
 */
export type RuleListResponse = Array<RuleListResponse.RuleListResponseItem>;
export declare namespace RuleListResponse {
    interface RuleListResponseItem {
        description?: string;
        enabled?: boolean;
        expression?: string;
        /**
         * Snippet identifying name
         */
        snippet_name?: string;
    }
}
export interface RuleUpdateParams {
    /**
     * 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 declare namespace Rules {
    export import RuleUpdateResponse = RulesAPI.RuleUpdateResponse;
    export import RuleListResponse = RulesAPI.RuleListResponse;
    export import RuleUpdateParams = RulesAPI.RuleUpdateParams;
}
//# sourceMappingURL=rules.d.ts.map