/**
 * Quick Deploy (Forge's push-to-deploy): generate a CI pipeline for the app's
 * git provider that runs `cloud deploy` on push to the deploy branch. ts-cloud
 * deploys from the operator's machine/CI, so the modern equivalent of Forge's
 * deploy webhook is a provider-native pipeline rather than an inbound webhook.
 * The provider can come from a configured site repository or from the CLI's
 * origin-remote detection, while the branch belongs to the target environment.
 */
import type { CloudConfig } from '@ts-cloud/core';
export type QuickDeployProvider = 'github' | 'gitlab' | 'bitbucket';
export interface QuickDeployOptions {
    /** Provider override, normally inferred from the origin remote by the CLI. */
    provider?: QuickDeployProvider;
    /** Limit the generated deploy command to one configured site. */
    site?: string;
    /** Skip DNS verification when DNS is already managed or attached elsewhere. */
    skipDnsVerification?: boolean;
    /** Dependency setup used by the generated GitHub Actions workflow. */
    setup?: 'bun' | 'pantry';
    /** CI secret/variable containing the SSH private key for Hetzner deploys. */
    sshPrivateKeySecret?: string;
}
export interface QuickDeployFile {
    /** Repo-relative path to write the pipeline to. */
    path: string;
    /** File contents. */
    content: string;
    /** Resolved git provider. */
    provider: QuickDeployProvider;
    /** Branch the pipeline triggers on. */
    branch: string;
}
/** Resolve a supported CI provider from a git remote URL. */
export declare function inferQuickDeployProvider(remoteUrl: string): QuickDeployProvider | undefined;
/**
 * Build the CI pipeline file for the resolved git provider, or `null` when no
 * github/gitlab/bitbucket provider is available. `environment` selects both the
 * environment-specific deploy branch and the `cloud deploy --env` target.
 */
export declare function buildQuickDeployCi(config: CloudConfig, environment?: string, options?: QuickDeployOptions): QuickDeployFile | null;
