import { Connection } from '@salesforce/core';
import { Duration } from '@salesforce/kit';
import { IPackageVersion1GP, Package1VersionCreateRequest, PackagingSObjects } from '../interfaces';
import MetadataPackageVersion = PackagingSObjects.MetadataPackageVersion;
/**
 * Provides the ability to get, list, and create 1st generation package versions.
 *
 * **Examples**
 *
 * List all 1GP package versions in the org:
 *
 * `const pkgList = await Package1Version.list(connection);`
 *
 * Create a new 1GP package version in the org:
 *
 * `const myPkg = await Package1Version.create(connection, options, pollingOptions);`
 *
 * More implementation examples are in the plugin here: https://github.com/salesforcecli/plugin-packaging/tree/main/src/commands/force/package1/
 */
export declare class Package1Version implements IPackageVersion1GP {
    private connection;
    private id;
    /**
     * Package1Version Constructor - Class to be used with 1st generation package versions
     *
     * @param connection: Connection to the org
     * @param id: 04t ID of the package version
     */
    constructor(connection: Connection, id: string);
    /**
     * Will create a PackageUploadRequest object based on the options provided, will poll for completion if pollingOptions are provided
     *
     * @param connection: Connection to the org
     * @param options: Package1VersionCreateRequest options for the new PackageUploadRequest to be created with
     * @param pollingOptions: options to set frequency, and duration of polling. Default to not poll
     */
    static create(connection: Connection, options: Package1VersionCreateRequest, pollingOptions?: {
        frequency: Duration;
        timeout: Duration;
    }): Promise<PackagingSObjects.PackageUploadRequest>;
    /**
     * Returns the status of a PackageUploadRequest
     *
     * @param connection Connection to the target org
     * @param id 0HD Id of the PackageUploadRequest
     */
    static getCreateStatus(connection: Connection, id: string): Promise<PackagingSObjects.PackageUploadRequest>;
    /**
     * Lists package versions available in the org. If package ID is supplied, only list versions of that package,
     * otherwise, list all package versions, up to 10,000. If more records are needed use the `SF_ORG_MAX_QUERY_LIMIT` env var.
     *
     * @param connection Connection to the org
     * @param id: optional, if present, ID of package to list versions for (starts with 033)
     * @returns Array of package version results
     */
    static list(connection: Connection, id?: string): Promise<MetadataPackageVersion[]>;
    /**
     * Queries the org for the package version with the given ID
     */
    getPackageVersion(): Promise<MetadataPackageVersion[]>;
}
