import { FlagsConfig, SfdxCommand } from '@salesforce/command';
import { AnyJson } from '@salesforce/ts-types';
export default class Promote extends SfdxCommand {
    static readonly description: string;
    static readonly examples: string[];
    static readonly flagsConfig: FlagsConfig;
    run(): Promise<AnyJson>;
    /**
     * Based on which flag was provided, locate the sha and version in S3 that will be used in the promote
     *
     * when candidate channel flag present, find sha a version via the channel for candidate
     * when version flag present, find the sha from version subfolders with the most recent modified date
     * when sha flag is present, find the version that owns the subfolder named as sha value
     *
     * @param cli
     * @private
     */
    private determineShaAndVersion;
    /**
     * validate flag combinations
     *
     * @private
     */
    private validateFlags;
    /**
     * find a manifest file in the channel
     *
     * @param cli
     * @param channel
     * @private
     */
    private findManifestForCandidate;
    /**
     * find the sha that was uploaded most recently for the named version
     *
     * @param cli
     * @param version
     * @private
     */
    private findShaForVersion;
    /**
     * find the version that owns the named sha
     *
     * @param cli
     * @param sha
     * @private
     */
    private findVersionForSha;
}
