import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as VersionsAPI from 'cloudflare/resources/rulesets/versions/versions';
import * as RulesetsAPI from 'cloudflare/resources/rulesets/rulesets';
import * as ByTagsAPI from 'cloudflare/resources/rulesets/versions/by-tags';
export declare class Versions extends APIResource {
    byTags: ByTagsAPI.ByTags;
    /**
     * Fetches the versions of an account or zone ruleset.
     */
    list(rulesetId: string, params?: VersionListParams, options?: Core.RequestOptions): Core.APIPromise<RulesetsAPI.RulesetsRulesetsResponse>;
    list(rulesetId: string, options?: Core.RequestOptions): Core.APIPromise<RulesetsAPI.RulesetsRulesetsResponse>;
    /**
     * Deletes an existing version of an account or zone ruleset.
     */
    delete(rulesetId: string, rulesetVersion: string, params?: VersionDeleteParams, options?: Core.RequestOptions): Core.APIPromise<void>;
    delete(rulesetId: string, rulesetVersion: string, options?: Core.RequestOptions): Core.APIPromise<void>;
    /**
     * Fetches a specific version of an account or zone ruleset.
     */
    get(rulesetId: string, rulesetVersion: string, params?: VersionGetParams, options?: Core.RequestOptions): Core.APIPromise<RulesetsAPI.RulesetsRulesetResponse>;
    get(rulesetId: string, rulesetVersion: string, options?: Core.RequestOptions): Core.APIPromise<RulesetsAPI.RulesetsRulesetResponse>;
}
export interface VersionListParams {
    /**
     * The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
     */
    account_id?: string;
    /**
     * The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
     */
    zone_id?: string;
}
export interface VersionDeleteParams {
    /**
     * The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
     */
    account_id?: string;
    /**
     * The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
     */
    zone_id?: string;
}
export interface VersionGetParams {
    /**
     * The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
     */
    account_id?: string;
    /**
     * The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
     */
    zone_id?: string;
}
export declare namespace Versions {
    export import VersionListParams = VersionsAPI.VersionListParams;
    export import VersionDeleteParams = VersionsAPI.VersionDeleteParams;
    export import VersionGetParams = VersionsAPI.VersionGetParams;
    export import ByTags = ByTagsAPI.ByTags;
    export import ByTagGetParams = ByTagsAPI.ByTagGetParams;
}
//# sourceMappingURL=versions.d.ts.map