import { Context } from "../../bundler/context.js";
import { StartPushRequest, StartPushResponse } from "./deployApi/startPush.js";
import { AppDefinitionConfig, ComponentDefinitionConfig } from "./deployApi/definitionConfig.js";
import { FinishPushDiff } from "./deployApi/finishPush.js";
import { Reporter, Span } from "./tracing.js";
/** Push configuration2 to the given remote origin. */
export declare function startPush(ctx: Context, span: Span, request: StartPushRequest, options: {
    url: string;
    verbose?: boolean;
}): Promise<StartPushResponse>;
export declare function waitForSchema(ctx: Context, span: Span, startPush: StartPushResponse, options: {
    adminKey: string;
    url: string;
    dryRun: boolean;
}): Promise<undefined>;
export declare function finishPush(ctx: Context, span: Span, startPush: StartPushResponse, options: {
    adminKey: string;
    url: string;
    dryRun: boolean;
}): Promise<FinishPushDiff>;
export type ComponentDefinitionConfigWithoutImpls = Omit<ComponentDefinitionConfig, "schema" | "functions">;
export type AppDefinitionConfigWithoutImpls = Omit<AppDefinitionConfig, "schema" | "functions" | "auth">;
export declare function reportPushCompleted(ctx: Context, adminKey: string, url: string, reporter: Reporter): Promise<void>;
//# sourceMappingURL=deploy2.d.ts.map