import type { UmbCreatedPackageDefinition, UmbCreatedPackages } from '../../types.js';
import type { UmbPackageStore } from './package.store.js';
import { UmbControllerBase } from '../../../../libs/class-api/index.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
import type { UmbApi, ManifestBase } from '../../../../libs/extension-api/index.js';
/**
 * A repository for Packages which mimics a tree store.
 
 */
export declare class UmbPackageRepository extends UmbControllerBase implements UmbApi {
    #private;
    constructor(host: UmbControllerHost);
    getCreatedPackage(unique: string | undefined): Promise<UmbCreatedPackageDefinition>;
    getCreatedPackages({ skip, take }: {
        skip: number;
        take: number;
    }): Promise<UmbCreatedPackages | undefined>;
    getCreatePackageDownload(unique: string): Promise<Blob | undefined>;
    deleteCreatedPackage(unique: string): Promise<boolean>;
    requestConfiguration(store: UmbPackageStore): Promise<void>;
    /**
     * Request the root items from the Data Source
     * @param store
     * @memberOf UmbPackageRepository
     */
    requestRootItems(store: UmbPackageStore): Promise<void>;
    /**
     * Request the package migrations from the Data Source
     * @param store
     * @memberOf UmbPackageRepository
     */
    requestPackageMigrations(store: UmbPackageStore): Promise<void>;
    saveCreatedPackage(pkg: UmbCreatedPackageDefinition): Promise<unknown>;
    updateCreatedPackage(pkg: UmbCreatedPackageDefinition): Promise<boolean>;
    configuration(): Promise<import("rxjs").Observable<import("../../../core/backend-api/index.js").PackageConfigurationResponseModel>>;
    /**
     * Observable of root items
     * @memberOf UmbPackageRepository
     */
    rootItems(): Promise<import("rxjs").Observable<import("../../../core/backend-api/index.js").ManifestResponseModel[]>>;
    /**
     * Observable of extensions
     * @memberOf UmbPackageRepository
     */
    extensions(): Promise<import("rxjs").Observable<ManifestBase[]>>;
    /**
     * Observable of migrations
     * @memberOf UmbPackageRepository
     */
    migrations(): Promise<import("rxjs").Observable<import("../../../core/backend-api/index.js").PackageMigrationStatusResponseModel[]>>;
}
export default UmbPackageRepository;
