import { PrototypeBuildService } from './PrototypeBuildService';
export interface DeployResult {
    deployId: string;
    shareUrl: string;
}
/**
 * Orchestrates deploying a fresh-project variant to the Prototype Preview Host:
 * build locally → gzip the file-list → upload with the user's Rivet JWT.
 *
 * Auth mirrors `GatewayClient`: attach `Authorization: Bearer <jwt>` from
 * `ConfigManager.getAuthToken()`, and on a 401 refresh the token via the proxy
 * and retry once. The host holds all hosting credentials — the client only ever
 * sends its own token.
 */
export declare class PrototypeDeployService {
    private buildService;
    private hostUrl;
    private proxyUrl;
    private configManager;
    constructor(buildService?: PrototypeBuildService, hostUrl?: string, proxyUrl?: string);
    /** Build the variant's `files/` dir (Vite app) and publish it. */
    deploy(filesDir: string): Promise<DeployResult>;
    /**
     * Publish an already-built static bundle (the variant's `files/` dir) with no
     * build step. Used for history static-preview variants, which are already
     * servable static sites.
     */
    deployStatic(filesDir: string): Promise<DeployResult>;
    private publishFiles;
    private publish;
    /** Refresh the access token using the stored refresh token. Mirrors GatewayClient. */
    private refreshAccessToken;
}
//# sourceMappingURL=PrototypeDeployService.d.ts.map