import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as Shared from 'cloudflaredev/resources/shared';
import * as ContentAPI from 'cloudflaredev/resources/snippets/content';
import * as RulesAPI from 'cloudflaredev/resources/snippets/rules';
import { SinglePage } from 'cloudflaredev/pagination';
export declare class Snippets extends APIResource {
    content: ContentAPI.Content;
    rules: RulesAPI.Rules;
    /**
     * Put Snippet
     */
    update(snippetName: string, params: SnippetUpdateParams, options?: Core.RequestOptions): Core.APIPromise<Snippet>;
    /**
     * All Snippets
     */
    list(params: SnippetListParams, options?: Core.RequestOptions): Core.PagePromise<SnippetsSinglePage, Snippet>;
    /**
     * Delete Snippet
     */
    delete(snippetName: string, params: SnippetDeleteParams, options?: Core.RequestOptions): Core.APIPromise<SnippetDeleteResponse>;
    /**
     * Snippet
     */
    get(snippetName: string, params: SnippetGetParams, options?: Core.RequestOptions): Core.APIPromise<Snippet>;
}
export declare class SnippetsSinglePage extends SinglePage<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;
}
export interface SnippetDeleteResponse {
    errors: Array<Shared.ResponseInfo>;
    messages: Array<Shared.ResponseInfo>;
    /**
     * Whether the API call was successful
     */
    success: true;
}
export interface SnippetUpdateParams {
    /**
     * Path param: Identifier
     */
    zone_id: string;
    /**
     * Body param: Content files of uploaded snippet
     */
    files?: string;
    /**
     * Body param:
     */
    metadata?: SnippetUpdateParams.Metadata;
}
export declare namespace SnippetUpdateParams {
    interface Metadata {
        /**
         * Main module name of uploaded snippet
         */
        main_module?: string;
    }
}
export interface SnippetListParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export interface SnippetDeleteParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export interface SnippetGetParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export declare namespace Snippets {
    export import Content = ContentAPI.Content;
    export import ContentGetParams = ContentAPI.ContentGetParams;
    export import Rules = RulesAPI.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=snippets.d.ts.map