import { z } from "#compiled/zod/index.js"; import { type ChannelSetupLog } from "#setup/cli/index.js"; import type { VercelProjectReference } from "#setup/project-resolution.js"; import { type RunVercelOptions } from "#setup/primitives/run-vercel.js"; export declare const FILE_MEMORY_BLOB_PREFIX = "EVE_MEMORY_BLOB"; export declare const FILE_MEMORY_BLOB_ENVIRONMENTS: readonly ["production", "preview", "development"]; declare const ProjectSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; resourceConfig: z.ZodOptional>; }, z.core.$strip>>; defaultResourceConfig: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$loose>; declare const StoreReferenceSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; projects: z.ZodDefault>>; region: z.ZodOptional; }, z.core.$loose>; declare const StoreSchema: z.ZodObject<{ access: z.ZodEnum<{ private: "private"; public: "public"; }>; id: z.ZodString; name: z.ZodString; region: z.ZodString; type: z.ZodOptional; }, z.core.$loose>; declare const StoreConnectionSchema: z.ZodObject<{ envVarEnvironments: z.ZodDefault>; envVarPrefix: z.ZodOptional>; id: z.ZodOptional; projectId: z.ZodString; }, z.core.$loose>; export type VercelProjectConfiguration = z.infer; export type BlobStoreReference = z.infer; export type BlobStore = z.infer; export type BlobStoreConnection = z.infer; export interface FileMemoryVercelClient { createStore(input: { name: string; region: string; }): Promise; connectStore(input: { environments: readonly string[]; prefix: string; projectId: string; storeId: string; }): Promise; getConnections(storeId: string): Promise; getProject(): Promise; getStore(storeId: string): Promise; listStores(): Promise; pullEnvironment(): Promise; } export type FileMemoryBlobAction = "create" | "repair" | "reuse"; export interface FileMemoryBlobPlan { readonly action: FileMemoryBlobAction; readonly project: VercelProjectReference; readonly projectName: string; readonly region: string; readonly storeId?: string; readonly storeName: string; readonly regionWarning?: string; } interface FileMemoryBlobResult { readonly action: FileMemoryBlobAction; readonly store: BlobStore; } interface FileMemoryVercelClientInput { readonly appRoot: string; readonly project: VercelProjectReference; readonly signal?: AbortSignal; readonly onOutput?: RunVercelOptions["onOutput"]; } export declare function createFileMemoryVercelClient(input: FileMemoryVercelClientInput): FileMemoryVercelClient; export declare function resolveFileMemoryRegion(input: { readonly localRegions?: readonly string[]; readonly project: Pick; }): string; export declare function fileMemoryStoreName(projectName: string, projectId: string): string; export declare function prepareFileMemoryBlob(input: { readonly appRoot: string; readonly project: VercelProjectReference; readonly client?: FileMemoryVercelClient; readonly localRegions?: () => Promise; readonly signal?: AbortSignal; }): Promise; export declare function applyFileMemoryBlob(input: { readonly client?: FileMemoryVercelClient; readonly log: ChannelSetupLog; readonly plan: FileMemoryBlobPlan; readonly appRoot: string; readonly signal?: AbortSignal; }): Promise; export {};