/**
 * Cloudflare SNIPPETS API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service snippets
 */
import * as Schema from "effect/Schema";
import type * as HttpClient from "effect/unstable/http/HttpClient";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import { type DefaultErrors } from "../errors.ts";
export interface GetContentRequest {
    snippetName: string;
    /** The unique ID of the zone. */
    zoneId: string;
}
export declare const GetContentRequest: Schema.Schema<GetContentRequest>;
export type GetContentResponse = unknown;
export declare const GetContentResponse: Schema.Schema<GetContentResponse>;
export type GetContentError = DefaultErrors;
export declare const getContent: API.OperationMethod<GetContentRequest, GetContentResponse, GetContentError, Credentials | HttpClient.HttpClient>;
export interface ListRulesRequest {
    /** The unique ID of the zone. */
    zoneId: string;
}
export declare const ListRulesRequest: Schema.Schema<ListRulesRequest>;
export interface ListRulesResponse {
    result: {
        id: string;
        expression: string;
        lastUpdated: string;
        snippetName: string;
        description?: string | null;
        enabled?: boolean | null;
    }[];
}
export declare const ListRulesResponse: Schema.Schema<ListRulesResponse>;
export type ListRulesError = DefaultErrors;
export declare const listRules: API.PaginatedOperationMethod<ListRulesRequest, ListRulesResponse, ListRulesError, Credentials | HttpClient.HttpClient>;
export interface PutRuleRequest {
    /** Path param: The unique ID of the zone. */
    zoneId: string;
    /** Body param: A list of snippet rules. */
    rules: {
        expression: string;
        snippetName: string;
        description?: string;
        enabled?: boolean;
    }[];
}
export declare const PutRuleRequest: Schema.Schema<PutRuleRequest>;
export interface PutRuleResponse {
    result: {
        id: string;
        expression: string;
        lastUpdated: string;
        snippetName: string;
        description?: string | null;
        enabled?: boolean | null;
    }[];
}
export declare const PutRuleResponse: Schema.Schema<PutRuleResponse>;
export type PutRuleError = DefaultErrors;
export declare const putRule: API.PaginatedOperationMethod<PutRuleRequest, PutRuleResponse, PutRuleError, Credentials | HttpClient.HttpClient>;
export interface DeleteRuleRequest {
    /** The unique ID of the zone. */
    zoneId: string;
}
export declare const DeleteRuleRequest: Schema.Schema<DeleteRuleRequest>;
export interface DeleteRuleResponse {
    result: {
        id: string;
        expression: string;
        lastUpdated: string;
        snippetName: string;
        description?: string | null;
        enabled?: boolean | null;
    }[];
}
export declare const DeleteRuleResponse: Schema.Schema<DeleteRuleResponse>;
export type DeleteRuleError = DefaultErrors;
export declare const deleteRule: API.PaginatedOperationMethod<DeleteRuleRequest, DeleteRuleResponse, DeleteRuleError, Credentials | HttpClient.HttpClient>;
export interface GetSnippetRequest {
    snippetName: string;
    /** The unique ID of the zone. */
    zoneId: string;
}
export declare const GetSnippetRequest: Schema.Schema<GetSnippetRequest>;
export interface GetSnippetResponse {
    /** The timestamp of when the snippet was created. */
    createdOn: string;
    /** The identifying name of the snippet. */
    snippetName: string;
    /** The timestamp of when the snippet was last modified. */
    modifiedOn?: string | null;
}
export declare const GetSnippetResponse: Schema.Schema<GetSnippetResponse>;
export type GetSnippetError = DefaultErrors;
export declare const getSnippet: API.OperationMethod<GetSnippetRequest, GetSnippetResponse, GetSnippetError, Credentials | HttpClient.HttpClient>;
export interface ListSnippetsRequest {
    /** Path param: The unique ID of the zone. */
    zoneId: string;
    page?: number;
    perPage?: number;
}
export declare const ListSnippetsRequest: Schema.Schema<ListSnippetsRequest>;
export interface ListSnippetsResponse {
    result: {
        createdOn: string;
        snippetName: string;
        modifiedOn?: string | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListSnippetsResponse: Schema.Schema<ListSnippetsResponse>;
export type ListSnippetsError = DefaultErrors;
export declare const listSnippets: API.PaginatedOperationMethod<ListSnippetsRequest, ListSnippetsResponse, ListSnippetsError, Credentials | HttpClient.HttpClient>;
export interface PutSnippetRequest {
    snippetName: string;
    /** Path param: The unique ID of the zone. */
    zoneId: string;
    /** Body param: Metadata about the snippet. */
    metadata: {
        mainModule: string;
    };
}
export declare const PutSnippetRequest: Schema.Schema<PutSnippetRequest>;
export interface PutSnippetResponse {
    /** The timestamp of when the snippet was created. */
    createdOn: string;
    /** The identifying name of the snippet. */
    snippetName: string;
    /** The timestamp of when the snippet was last modified. */
    modifiedOn?: string | null;
}
export declare const PutSnippetResponse: Schema.Schema<PutSnippetResponse>;
export type PutSnippetError = DefaultErrors;
export declare const putSnippet: API.OperationMethod<PutSnippetRequest, PutSnippetResponse, PutSnippetError, Credentials | HttpClient.HttpClient>;
export interface DeleteSnippetRequest {
    snippetName: string;
    /** The unique ID of the zone. */
    zoneId: string;
}
export declare const DeleteSnippetRequest: Schema.Schema<DeleteSnippetRequest>;
export type DeleteSnippetResponse = string | null;
export declare const DeleteSnippetResponse: Schema.Schema<DeleteSnippetResponse>;
export type DeleteSnippetError = DefaultErrors;
export declare const deleteSnippet: API.OperationMethod<DeleteSnippetRequest, DeleteSnippetResponse, DeleteSnippetError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=snippets.d.ts.map