import { APIResource } from "../../../../../resource.js"; import * as Core from "../../../../../core.js"; import { SinglePage } from "../../../../../pagination.js"; export declare class Bindings extends APIResource { /** * Fetch script bindings from a script uploaded to a Workers for Platforms * namespace. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const bindingGetResponse of client.workersForPlatforms.dispatch.namespaces.scripts.bindings.get( * 'my-dispatch-namespace', * 'this-is_my_script-01', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * )) { * // ... * } * ``` */ get(dispatchNamespace: string, scriptName: string, params: BindingGetParams, options?: Core.RequestOptions): Core.PagePromise; } export declare class BindingGetResponsesSinglePage extends SinglePage { } /** * A binding to allow the Worker to communicate with resources. */ export type BindingGetResponse = BindingGetResponse.WorkersBindingKindAI | BindingGetResponse.WorkersBindingKindAISearch | BindingGetResponse.WorkersBindingKindAISearchNamespace | BindingGetResponse.WorkersBindingKindAnalyticsEngine | BindingGetResponse.WorkersBindingKindAssets | BindingGetResponse.WorkersBindingKindBrowser | BindingGetResponse.WorkersBindingKindD1 | BindingGetResponse.WorkersBindingKindDataBlob | BindingGetResponse.WorkersBindingKindDispatchNamespace | BindingGetResponse.WorkersBindingKindDurableObjectNamespace | BindingGetResponse.WorkersBindingKindHyperdrive | BindingGetResponse.WorkersBindingKindInherit | BindingGetResponse.WorkersBindingKindImages | BindingGetResponse.WorkersBindingKindJson | BindingGetResponse.WorkersBindingKindKVNamespace | BindingGetResponse.WorkersBindingKindMedia | BindingGetResponse.WorkersBindingKindMTLSCertificate | BindingGetResponse.WorkersBindingKindPlainText | BindingGetResponse.WorkersBindingKindPipelines | BindingGetResponse.WorkersBindingKindQueue | BindingGetResponse.WorkersBindingKindRatelimit | BindingGetResponse.WorkersBindingKindR2Bucket | BindingGetResponse.WorkersBindingKindSecretText | BindingGetResponse.WorkersBindingKindSendEmail | BindingGetResponse.WorkersBindingKindService | BindingGetResponse.WorkersBindingKindTextBlob | BindingGetResponse.WorkersBindingKindVectorize | BindingGetResponse.WorkersBindingKindVersionMetadata | BindingGetResponse.WorkersBindingKindSecretsStoreSecret | BindingGetResponse.WorkersBindingKindFlagship | BindingGetResponse.WorkersBindingKindSecretKey | BindingGetResponse.WorkersBindingKindWorkflow | BindingGetResponse.WorkersBindingKindWasmModule | BindingGetResponse.WorkersBindingKindVPCService | BindingGetResponse.WorkersBindingKindVPCNetwork; export declare namespace BindingGetResponse { interface WorkersBindingKindAI { /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'ai'; } interface WorkersBindingKindAISearch { /** * The user-chosen instance name. Must exist at deploy time. The worker can search, * chat, update, and manage items/jobs on this instance. */ instance_name: string; /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'ai_search'; /** * The namespace the instance belongs to. Defaults to "default" if omitted. * Customers who don't use namespaces can simply omit this field. */ namespace?: string; } interface WorkersBindingKindAISearchNamespace { /** * A JavaScript variable name for the binding. */ name: string; /** * The user-chosen namespace name. Must exist before deploy -- Wrangler handles * auto-creation on deploy failure (R2 bucket pattern). The "default" namespace is * auto-created by config-api for new accounts. Grants full access (CRUD + search + * chat) to all instances within the namespace. */ namespace: string; /** * The kind of resource that the binding provides. */ type: 'ai_search_namespace'; } interface WorkersBindingKindAnalyticsEngine { /** * The name of the dataset to bind to. */ dataset: string; /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'analytics_engine'; } interface WorkersBindingKindAssets { /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'assets'; } interface WorkersBindingKindBrowser { /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'browser'; } interface WorkersBindingKindD1 { /** * Identifier of the D1 database to bind to. */ database_id: string; /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'd1'; /** * @deprecated This property has been renamed to `database_id`. */ id?: string; } interface WorkersBindingKindDataBlob { /** * A JavaScript variable name for the binding. */ name: string; /** * The name of the file containing the data content. Only accepted for * `service worker syntax` Workers. */ part: string; /** * @deprecated The kind of resource that the binding provides. */ type: 'data_blob'; } interface WorkersBindingKindDispatchNamespace { /** * A JavaScript variable name for the binding. */ name: string; /** * The name of the dispatch namespace. */ namespace: string; /** * The kind of resource that the binding provides. */ type: 'dispatch_namespace'; /** * Outbound worker. */ outbound?: WorkersBindingKindDispatchNamespace.Outbound; } namespace WorkersBindingKindDispatchNamespace { /** * Outbound worker. */ interface Outbound { /** * Pass information from the Dispatch Worker to the Outbound Worker through the * parameters. */ params?: Array; /** * Outbound worker. */ worker?: Outbound.Worker; } namespace Outbound { interface Param { /** * Name of the parameter. */ name: string; } /** * Outbound worker. */ interface Worker { /** * Entrypoint to invoke on the outbound worker. */ entrypoint?: string; /** * Environment of the outbound worker. */ environment?: string; /** * Name of the outbound worker. */ service?: string; } } } interface WorkersBindingKindDurableObjectNamespace { /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'durable_object_namespace'; /** * The exported class name of the Durable Object. */ class_name?: string; /** * The dispatch namespace the Durable Object script belongs to. */ dispatch_namespace?: string; /** * The environment of the script_name to bind to. */ environment?: string; /** * Namespace identifier tag. */ namespace_id?: string; /** * The script where the Durable Object is defined, if it is external to this * Worker. */ script_name?: string; } interface WorkersBindingKindHyperdrive { /** * Identifier of the Hyperdrive connection to bind to. */ id: string; /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'hyperdrive'; } interface WorkersBindingKindInherit { /** * The name of the inherited binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'inherit'; /** * The old name of the inherited binding. If set, the binding will be renamed from * `old_name` to `name` in the new version. If not set, the binding will keep the * same name between versions. */ old_name?: string; /** * Identifier for the version to inherit the binding from, which can be the version * ID or the literal "latest" to inherit from the latest version. Defaults to * inheriting the binding from the latest version. */ version_id?: string; } interface WorkersBindingKindImages { /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'images'; } interface WorkersBindingKindJson { /** * JSON data to use. */ json: unknown; /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'json'; } interface WorkersBindingKindKVNamespace { /** * A JavaScript variable name for the binding. */ name: string; /** * Namespace identifier tag. */ namespace_id: string; /** * The kind of resource that the binding provides. */ type: 'kv_namespace'; } interface WorkersBindingKindMedia { /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'media'; } interface WorkersBindingKindMTLSCertificate { /** * Identifier of the certificate to bind to. */ certificate_id: string; /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'mtls_certificate'; } interface WorkersBindingKindPlainText { /** * A JavaScript variable name for the binding. */ name: string; /** * The text value to use. */ text: string; /** * The kind of resource that the binding provides. */ type: 'plain_text'; } interface WorkersBindingKindPipelines { /** * A JavaScript variable name for the binding. */ name: string; /** * Name of the Pipeline to bind to. */ pipeline: string; /** * The kind of resource that the binding provides. */ type: 'pipelines'; } interface WorkersBindingKindQueue { /** * A JavaScript variable name for the binding. */ name: string; /** * Name of the Queue to bind to. */ queue_name: string; /** * The kind of resource that the binding provides. */ type: 'queue'; } interface WorkersBindingKindRatelimit { /** * A JavaScript variable name for the binding. */ name: string; /** * Identifier of the rate limit namespace to bind to. */ namespace_id: string; /** * The rate limit configuration. */ simple: WorkersBindingKindRatelimit.Simple; /** * The kind of resource that the binding provides. */ type: 'ratelimit'; } namespace WorkersBindingKindRatelimit { /** * The rate limit configuration. */ interface Simple { /** * The limit (requests per period). */ limit: number; /** * The period in seconds. */ period: number; /** * Duration in seconds to apply the mitigation action after the rate limit is * exceeded. Valid values are 0 (disabled), 10, or multiples of 60 up to 86400. * Must be greater than or equal to the period when non-zero. */ mitigation_timeout?: number; } } interface WorkersBindingKindR2Bucket { /** * R2 bucket to bind to. */ bucket_name: string; /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'r2_bucket'; /** * The * [jurisdiction](https://developers.cloudflare.com/r2/reference/data-location/#jurisdictional-restrictions) * of the R2 bucket. */ jurisdiction?: 'eu' | 'fedramp' | 'fedramp-high'; } interface WorkersBindingKindSecretText { /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'secret_text'; } interface WorkersBindingKindSendEmail { /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'send_email'; /** * List of allowed destination addresses. */ allowed_destination_addresses?: Array; /** * List of allowed sender addresses. */ allowed_sender_addresses?: Array; /** * Destination address for the email. */ destination_address?: string; } interface WorkersBindingKindService { /** * A JavaScript variable name for the binding. */ name: string; /** * Name of Worker to bind to. */ service: string; /** * The kind of resource that the binding provides. */ type: 'service'; /** * Entrypoint to invoke on the target Worker. */ entrypoint?: string; /** * Optional environment if the Worker utilizes one. */ environment?: string; } interface WorkersBindingKindTextBlob { /** * A JavaScript variable name for the binding. */ name: string; /** * The name of the file containing the text content. Only accepted for * `service worker syntax` Workers. */ part: string; /** * @deprecated The kind of resource that the binding provides. */ type: 'text_blob'; } interface WorkersBindingKindVectorize { /** * Name of the Vectorize index to bind to. */ index_name: string; /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'vectorize'; } interface WorkersBindingKindVersionMetadata { /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'version_metadata'; } interface WorkersBindingKindSecretsStoreSecret { /** * A JavaScript variable name for the binding. */ name: string; /** * Name of the secret in the store. */ secret_name: string; /** * ID of the store containing the secret. */ store_id: string; /** * The kind of resource that the binding provides. */ type: 'secrets_store_secret'; } interface WorkersBindingKindFlagship { /** * ID of the Flagship app to bind to for feature flag evaluation. */ app_id: string; /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'flagship'; } interface WorkersBindingKindSecretKey { /** * Algorithm-specific key parameters. * [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#algorithm). */ algorithm: unknown; /** * Data format of the key. * [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#format). */ format: 'raw' | 'pkcs8' | 'spki' | 'jwk'; /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'secret_key'; /** * Allowed operations with the key. * [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#keyUsages). */ usages: Array<'encrypt' | 'decrypt' | 'sign' | 'verify' | 'deriveKey' | 'deriveBits' | 'wrapKey' | 'unwrapKey'>; } interface WorkersBindingKindWorkflow { /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'workflow'; /** * Name of the Workflow to bind to. */ workflow_name: string; /** * Class name of the Workflow. Should only be provided if the Workflow belongs to * this script. */ class_name?: string; /** * Script name that contains the Workflow. If not provided, defaults to this script * name. */ script_name?: string; } interface WorkersBindingKindWasmModule { /** * A JavaScript variable name for the binding. */ name: string; /** * The name of the file containing the WebAssembly module content. Only accepted * for `service worker syntax` Workers. */ part: string; /** * @deprecated The kind of resource that the binding provides. */ type: 'wasm_module'; } interface WorkersBindingKindVPCService { /** * A JavaScript variable name for the binding. */ name: string; /** * Identifier of the VPC service to bind to. */ service_id: string; /** * The kind of resource that the binding provides. */ type: 'vpc_service'; } interface WorkersBindingKindVPCNetwork { /** * A JavaScript variable name for the binding. */ name: string; /** * The kind of resource that the binding provides. */ type: 'vpc_network'; /** * Identifier of the network to bind to. Only "cf1:network" is currently supported. * Mutually exclusive with tunnel_id. */ network_id?: string; /** * UUID of the Cloudflare Tunnel to bind to. Mutually exclusive with network_id. */ tunnel_id?: string; } } export interface BindingGetParams { /** * Identifier. */ account_id: string; } export declare namespace Bindings { export { type BindingGetResponse as BindingGetResponse, BindingGetResponsesSinglePage as BindingGetResponsesSinglePage, type BindingGetParams as BindingGetParams, }; } //# sourceMappingURL=bindings.d.ts.map