/// <reference types="node" />
import { ListrTaskWrapper } from 'listr2';
import { PushCommandTasksContext } from '../types/commands/push.js';
import { Region } from '../types/general/region.js';
import { AppVersionDeploymentStatus, DeploymentStatusTypesSchema, SecurityScanResponse } from '../types/services/push-service.js';
export declare const getSignedStorageUrl: (appVersionId: number, region?: Region, securityScan?: boolean) => Promise<string>;
export declare const uploadClientZipFile: (appVersionId: number, buffer: Buffer) => Promise<{
    url: string;
    sourceUrl: string;
}>;
export declare const getAppVersionDeploymentStatus: (appVersionId: number, region?: Region) => Promise<{
    statusCode: number;
    headers: Record<string, string | string[]>;
    status: "started" | "pending" | "building" | "successful" | "failed" | "building-infra" | "building-app" | "deploying-app" | "security-scan";
    error?: {
        message: string;
    } | undefined;
    tip?: string | undefined;
    deployment?: {
        url: string;
        latestUrl: string;
        liveUrl?: string | undefined;
    } | undefined;
    securityScanResults?: {
        summary: {
            error: number;
            total: number;
            warning: number;
            note: number;
        };
        version: string;
        timestamp: string;
        findings: {
            message: string | null;
            tool: string | null;
            ruleId: string | null;
            severity: string | null;
            file: string | null;
            line: number | null;
            shortDescription: string | null;
            fullDescription: string | null;
            helpUri: string | null;
            help: string | null;
            precision: string | null;
        }[];
    } | undefined;
}>;
export declare const getDeploymentSecurityScan: (appVersionId: number, region?: Region) => Promise<SecurityScanResponse>;
export declare const pollForDeploymentStatus: (appVersionId: number, retryAfter: number, region?: Region, options?: {
    ttl?: number | undefined;
    progressLogger?: ((message: keyof typeof DeploymentStatusTypesSchema, tip?: string) => void) | undefined;
}) => Promise<AppVersionDeploymentStatus>;
export declare const uploadFileToStorage: (cloudStorageUrl: string, fileData: Buffer, fileType: string) => Promise<any>;
export declare const buildClientZip: (ctx: PushCommandTasksContext, task: ListrTaskWrapper<PushCommandTasksContext, any>) => Promise<void>;
export declare const deployClientZip: (ctx: PushCommandTasksContext, task: ListrTaskWrapper<PushCommandTasksContext, any>) => Promise<void>;
export declare const buildAssetToDeployTask: (ctx: PushCommandTasksContext, task: ListrTaskWrapper<PushCommandTasksContext, any>) => Promise<void>;
export declare const prepareEnvironmentTask: (ctx: PushCommandTasksContext) => Promise<void>;
export declare const uploadAssetTask: (ctx: PushCommandTasksContext, task: ListrTaskWrapper<PushCommandTasksContext, any>) => Promise<void>;
export declare const handleDeploymentTask: (ctx: PushCommandTasksContext, task: ListrTaskWrapper<PushCommandTasksContext, any>) => Promise<void>;
