import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as SnippetsAPI from 'cloudflare/resources/snippets/snippets';
import * as ContentAPI from 'cloudflare/resources/snippets/content';
import * as RulesAPI from 'cloudflare/resources/snippets/rules';
export declare class Snippets extends APIResource {
    content: ContentAPI.Content;
    rules: RulesAPI.Rules;
    /**
     * Put Snippet
     */
    update(zoneIdentifier: string, snippetName: string, body?: SnippetUpdateParams, options?: Core.RequestOptions): Core.APIPromise<Snippet>;
    update(zoneIdentifier: string, snippetName: string, options?: Core.RequestOptions): Core.APIPromise<Snippet>;
    /**
     * All Snippets
     */
    list(zoneIdentifier: string, options?: Core.RequestOptions): Core.APIPromise<SnippetListResponse>;
    /**
     * Delete Snippet
     */
    delete(zoneIdentifier: string, snippetName: string, options?: Core.RequestOptions): Core.APIPromise<SnippetDeleteResponse>;
    /**
     * Snippet
     */
    get(zoneIdentifier: string, snippetName: string, options?: Core.RequestOptions): Core.APIPromise<Snippet>;
}
/**
 * Snippet Information
 */
export interface Snippet {
    /**
     * Creation time of the snippet
     */
    created_on?: string;
    /**
     * Modification time of the snippet
     */
    modified_on?: string;
    /**
     * Snippet identifying name
     */
    snippet_name?: string;
}
/**
 * List of all zone snippets
 */
export type SnippetListResponse = Array<Snippet>;
export type SnippetDeleteResponse = unknown | Array<unknown> | string;
export interface SnippetUpdateParams {
    /**
     * Content files of uploaded snippet
     */
    files?: string;
    metadata?: SnippetUpdateParams.Metadata;
}
export declare namespace SnippetUpdateParams {
    interface Metadata {
        /**
         * Main module name of uploaded snippet
         */
        main_module?: string;
    }
}
export declare namespace Snippets {
    export import Snippet = SnippetsAPI.Snippet;
    export import SnippetListResponse = SnippetsAPI.SnippetListResponse;
    export import SnippetDeleteResponse = SnippetsAPI.SnippetDeleteResponse;
    export import SnippetUpdateParams = SnippetsAPI.SnippetUpdateParams;
    export import Content = ContentAPI.Content;
    export import Rules = RulesAPI.Rules;
    export import RuleUpdateResponse = RulesAPI.RuleUpdateResponse;
    export import RuleListResponse = RulesAPI.RuleListResponse;
    export import RuleUpdateParams = RulesAPI.RuleUpdateParams;
}
//# sourceMappingURL=snippets.d.ts.map