import type { UmbDetailRepository } from './detail/detail-repository.interface.js'; import type { UmbControllerHost } from '../../../libs/controller-api/index.js'; import { type Observable } from '../../../libs/observable-api/index.js'; import { UmbControllerBase } from '../../../libs/class-api/index.js'; interface UmbRepositoryRequestStatus { state: { type: 'success' | 'error' | 'loading'; error?: string; }; unique: string; } /** * @export * @class UmbRepositoryDetailsManager * @augments {UmbControllerBase} * @template DetailType */ export declare class UmbRepositoryDetailsManager extends UmbControllerBase { #private; repository?: UmbDetailRepository; get init(): Promise; uniques: Observable; entries: Observable; statuses: Observable; /** * Creates an instance of UmbRepositoryDetailsManager. * @param {UmbControllerHost} host - The host for the controller. * @param {string} repository - The alias of the repository to use. * @memberof UmbRepositoryDetailsManager */ constructor(host: UmbControllerHost, repository: UmbDetailRepository | string); /** * Clear the manager * @memberof UmbRepositoryDetailsManager */ clear(): void; /** * Get the uniques in the manager * @returns {Array} - The uniques in the manager. * @memberof UmbRepositoryDetailsManager */ getUniques(): Array; /** * Set the uniques in the manager * @param {(string[] | undefined)} uniques * @memberof UmbRepositoryDetailsManager */ setUniques(uniques: Array | undefined): void; /** * Add a unique to the manager * @param {string} unique * @memberof UmbRepositoryDetailsManager */ addUnique(unique: string): void; /** * Add an entry to the manager * @param {DetailType} data * @memberof UmbRepositoryDetailsManager */ addEntry(data: DetailType): void; /** * Get all entries in the manager * @returns {Array} - The entries in the manager. * @memberof UmbRepositoryDetailsManager */ getEntries(): Array; /** * Get an entry observable by unique * @param {string} unique * @returns {Observable} - The entry observable. * @memberof UmbRepositoryDetailsManager */ entryByUnique(unique: string): Observable; destroy(): void; } export {};