import { Connection, SfProject } from '@salesforce/core';
import { PackagePushRequestListQueryOptions, PackagePushRequestListResult, PackagePushScheduleResult, PackagePushRequestReportQueryOptions, PackagePushRequestReportResult, PackagePushRequestReportJobFailuresResult, PackagePushRequestAbortQueryOptions } from '../interfaces';
export type PackagePushRequestListOptions = {
    connection: Connection;
    packageId: string;
    project?: SfProject;
};
export declare class PackagePushUpgrade {
    constructor();
    static list(connection: Connection, options?: PackagePushRequestListQueryOptions): Promise<PackagePushRequestListResult[]>;
    static report(connection: Connection, options: PackagePushRequestReportQueryOptions): Promise<PackagePushRequestReportResult[]>;
    static getFailedJobs(connection: Connection, options: PackagePushRequestReportQueryOptions): Promise<number>;
    static getSucceededJobs(connection: Connection, options: PackagePushRequestReportQueryOptions): Promise<number>;
    static getTotalJobs(connection: Connection, options: PackagePushRequestReportQueryOptions): Promise<number>;
    static getJobFailureReasons(connection: Connection, options: PackagePushRequestReportQueryOptions): Promise<PackagePushRequestReportJobFailuresResult[]>;
    static schedule(connection: Connection, packageVersionId: string, scheduleTime: string | undefined, orgList: string[], isMigration?: boolean): Promise<PackagePushScheduleResult>;
    static abort(connection: Connection, options: PackagePushRequestAbortQueryOptions): Promise<boolean>;
    private static writeJobErrorsToFile;
}
