import { Nullable } from '@salesforce/ts-types';
import { BundleEntry } from '@salesforce/schemas';
import type { Schema } from '@jsforce/jsforce-node';
export { BundleEntry };
export type QueryRecord = Schema & {
    Id: string;
    PackageBundle?: {
        Id: string;
        BundleName: string;
        Description?: string;
        IsDeleted: boolean;
        CreatedDate: string;
        CreatedById: string;
        LastModifiedDate: string;
        LastModifiedById: string;
        SystemModstamp: string;
    };
    VersionName: string;
    MajorVersion: string;
    MinorVersion: string;
    IsReleased: boolean;
    Ancestor?: {
        Id: string;
        PackageBundle?: {
            Id: string;
            BundleName: string;
            Description?: string;
            IsDeleted: boolean;
            CreatedDate: string;
            CreatedById: string;
            LastModifiedDate: string;
            LastModifiedById: string;
            SystemModstamp: string;
        };
        VersionName: string;
        MajorVersion: string;
        MinorVersion: string;
        IsReleased: boolean;
    };
};
export type AncestorRecord = {
    Id: string;
    PackageBundle?: {
        Id: string;
        BundleName: string;
        Description?: string;
        IsDeleted: boolean;
        CreatedDate: string;
        CreatedById: string;
        LastModifiedDate: string;
        LastModifiedById: string;
        SystemModstamp: string;
    };
    VersionName: string;
    MajorVersion: string;
    MinorVersion: string;
    IsReleased: boolean;
};
export declare namespace BundleSObjects {
    type Bundle = {
        BundleName: string;
        Description?: string;
        Id: string;
        IsDeleted: boolean;
        CreatedDate: string;
        CreatedById: string;
        LastModifiedDate: string;
        LastModifiedById: string;
        SystemModstamp: string;
    };
    type BundleVersion = {
        Id: string;
        PackageBundle: Bundle;
        VersionName: string;
        MajorVersion: string;
        MinorVersion: string;
        Ancestor: Nullable<BundleVersion>;
        IsReleased: boolean;
        CreatedDate: string;
        CreatedById: string;
        LastModifiedDate: string;
        LastModifiedById: string;
    };
    type PkgBundleVersionCreateReq = {
        PackageBundleId: string;
        VersionName: string;
        MajorVersion: string;
        MinorVersion: string;
        BundleVersionComponents: string;
        Ancestor?: string | null;
    };
    type PackageBundleVersionCreateRequestResult = PkgBundleVersionCreateReq & {
        Id: string;
        PackageBundleVersionId: string;
        RequestStatus: PkgBundleVersionCreateReqStatus;
        CreatedDate: string;
        CreatedById: string;
        Error?: string[];
        ValidationError?: string;
    };
    enum PkgBundleVersionCreateReqStatus {
        queued = "Queued",
        inProgress = "InProgress",
        success = "Success",
        error = "Error"
    }
    enum PkgBundleVersionInstallReqStatus {
        queued = "Queued",
        inProgress = "InProgress",
        success = "Success",
        error = "Error"
    }
    enum PkgBundleVersionUninstallReqStatus {
        queued = "Queued",
        inProgress = "InProgress",
        success = "Success",
        error = "Error"
    }
    enum PkgBundleVerCpntUnistlReqStatus {
        queued = "Queued",
        inProgress = "InProgress",
        success = "Success",
        error = "Error"
    }
    type PkgBundleVersionQueryRecord = {
        Id: string;
        RequestStatus: BundleSObjects.PkgBundleVersionCreateReqStatus;
        PackageBundle: Bundle;
        PackageBundleVersion: BundleVersion;
        VersionName: string;
        MajorVersion: string;
        MinorVersion: string;
        Ancestor: BundleVersion;
        BundleVersionComponents: string;
        CreatedDate: string;
        CreatedById: string;
        Error?: string[];
        ValidationError?: string;
    } & Schema;
    type PkgBundleVersionInstallReq = {
        PackageBundleVersionId: string;
        DevelopmentOrganization: string;
    };
    type PkgBundleVersionInstallReqResult = PkgBundleVersionInstallReq & {
        Id: string;
        InstallStatus: PkgBundleVersionInstallReqStatus;
        ValidationError: string;
        CreatedDate: string;
        CreatedById: string;
        Error?: string[];
    };
    type PkgBundleVersionInstallQueryRecord = {
        Id: string;
        InstallStatus: BundleSObjects.PkgBundleVersionInstallReqStatus;
        PackageBundleVersionId: string;
        DevelopmentOrganization: string;
        ValidationError: string;
        CreatedDate: string;
        CreatedById: string;
        Error?: string[];
    } & Schema;
    type PkgBundleVerUninstallReq = {
        PackageBundleVersionId: string;
        InstalledPkgBundleVersionId?: string;
        ValidationError?: string;
    };
    type PkgBundleVerUninstallReqResult = PkgBundleVerUninstallReq & {
        Id: string;
        UninstallStatus: PkgBundleVersionUninstallReqStatus;
        CreatedDate: string;
        CreatedById: string;
        Error?: string[];
    };
    type PkgBundleVerUninstallReqQueryRecord = {
        Id: string;
        UninstallStatus: PkgBundleVersionUninstallReqStatus;
        PackageBundleVersionId: string;
        InstalledPkgBundleVersionId?: string;
        ValidationError?: string;
        CreatedDate: string;
        CreatedById: string;
        Error?: string[];
    } & Schema;
    type PkgBundleVerCpntUnistlReqRecord = {
        Id: string;
        SequenceOrder: number;
        UninstallStatus: PkgBundleVerCpntUnistlReqStatus;
        PkgBundleVersionComponent?: {
            Id: string;
        };
        Error?: string;
    } & Schema;
    type InstalledPackageBundleVersionComponent = {
        ExpectedPackageName: string;
        ExpectedPackageVersionNumber: string;
        ActualPackageName: string;
        ActualPackageVersionNumber: string;
    };
    type InstalledPackageBundleVersion = {
        Id: string;
        BundleName: string;
        BundleId: string;
        BundleVersionId: string;
        BundleVersionName: string;
        MajorVersion: number;
        MinorVersion: number;
        Description: string;
        InstalledDate: string;
        LastUpgradedDate: string;
        Components: InstalledPackageBundleVersionComponent[];
    };
    type InstalledPackageBundleVersionQueryRecord = {
        Id: string;
        PackageBundleVersion: {
            Id: string;
            VersionName: string;
            MajorVersion: number;
            MinorVersion: number;
            PackageBundle: {
                Id: string;
                BundleName: string;
                Description: string;
            };
        };
        InstalledDate: string;
        LastUpgradedDate: string;
    } & Schema;
    type InstalledBundleRecord = {
        Id: string;
        PackageBundleId?: string;
        PackageBundleVersionId?: string;
        BundleName: string;
        BundleVersionName: string;
        MajorVersion: number;
        MinorVersion: number;
        CreatedDate?: string;
        LastModifiedDate?: string;
    } & Schema;
    type InstallRequestRecord = {
        Id: string;
    } & Schema;
    type BundleComponentInstallRecord = {
        SubscriberPackageVersion: {
            Id: string;
            SubscriberPackageId: string;
            MajorVersion: number;
            MinorVersion: number;
            PatchVersion: number;
            BuildNumber: number;
        };
        InstalledComponent?: {
            SubscriberPackage?: {
                Name: string;
            };
        };
        SequenceOrder: number;
    } & Schema;
    type InstalledPackageRecord = {
        Id: string;
        SubscriberPackageId: string;
        SubscriberPackage: {
            Name: string;
        };
        SubscriberPackageVersion: {
            Id: string;
            MajorVersion: number;
            MinorVersion: number;
            PatchVersion: number;
            BuildNumber: number;
        };
    } & Schema;
}
