import type { Assets } from "../assets.ts";
import type { Bindings } from "../bindings.ts";
import { type ViteProps } from "../vite/vite.ts";
import type { Worker } from "../worker.ts";
export interface RedwoodProps<B extends Bindings, RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded> extends ViteProps<B, RPC> {
}
export type Redwood<B extends Bindings, RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded> = B extends {
    ASSETS: any;
} ? never : Worker<B & {
    ASSETS: Assets;
}, RPC>;
/**
 * Deploy a RedwoodJS application to Cloudflare Workers with automatically configured defaults.
 *
 * This resource handles the deployment of RedwoodJS applications with optimized settings for
 * Cloudflare Workers, including proper build commands and compatibility flags.
 *
 * @example
 * // Deploy a basic RedwoodJS application with default settings
 * const redwoodApp = await Redwood("my-redwood-app");
 *
 * @example
 * // Deploy with a database binding
 * import { D1Database } from alchemy/cloudflare";
 *
 * const database = await D1Database("redwood-db");
 *
 * const redwoodApp = await Redwood("redwood-with-db", {
 *   bindings: {
 *     DB: database
 *   }
 * });
 *
 * @param id - Unique identifier for the RedwoodJS application
 * @param props - Configuration properties for the RedwoodJS deployment
 * @returns A Cloudflare Worker resource representing the deployed RedwoodJS application
 */
export declare function Redwood<B extends Bindings, RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded>(id: string, props?: Partial<RedwoodProps<B, RPC>>): Promise<Redwood<B, RPC>>;
//# sourceMappingURL=redwood.d.ts.map