import { type IWorkspaceCatalog, type IWorkspaceCatalogAvailableItemsFactory, type IWorkspaceCatalogFactory, type IWorkspaceCatalogFactoryOptions } from "@gooddata/sdk-backend-spi"; import { type CatalogItem, type CatalogItemType, type ICatalogAttribute, type ICatalogAttributeHierarchy, type ICatalogComputedAttribute, type ICatalogDateDataset, type ICatalogFact, type ICatalogGroup, type ICatalogMeasure, type ObjRef } from "@gooddata/sdk-model"; /** * @alpha */ export type WorkspaceCatalogWrapper = (catalog: IWorkspaceCatalog) => IWorkspaceCatalog; /** * @alpha */ export declare abstract class DecoratedWorkspaceCatalogFactory implements IWorkspaceCatalogFactory { private decorated; protected readonly wrapper: WorkspaceCatalogWrapper; options: IWorkspaceCatalogFactoryOptions; workspace: string; protected constructor(decorated: IWorkspaceCatalogFactory, wrapper?: WorkspaceCatalogWrapper); withPageSize(pageSize: number): IWorkspaceCatalogFactory; forDataset(dataset: ObjRef): IWorkspaceCatalogFactory; forTypes(types: CatalogItemType[]): IWorkspaceCatalogFactory; excludeTags(tags: ObjRef[]): IWorkspaceCatalogFactory; includeTags(tags: ObjRef[]): IWorkspaceCatalogFactory; withOptions(options: IWorkspaceCatalogFactoryOptions): IWorkspaceCatalogFactory; withGroups(loadGroups: boolean): IWorkspaceCatalogFactory; withSignal(signal: AbortSignal): IWorkspaceCatalogFactory; load(): Promise; /** * Methods that create new instances of catalog loader (e.g. all except load) will * call out to this method to create decorated loader. This is essential to maintain the decoration * during immutable operations where decorated implementation creates new instances. * * @param decorated - instance to decorate */ protected abstract createNew(decorated: IWorkspaceCatalogFactory): IWorkspaceCatalogFactory; } /** * @alpha */ export declare abstract class DecoratedWorkspaceCatalog implements IWorkspaceCatalog { private readonly decorated; protected constructor(decorated: IWorkspaceCatalog); availableItems(): IWorkspaceCatalogAvailableItemsFactory; attributes(): ICatalogAttribute[]; dateDatasets(): ICatalogDateDataset[]; facts(): ICatalogFact[]; groups(): ICatalogGroup[]; allItems(): CatalogItem[]; measures(): ICatalogMeasure[]; attributeHierarchies(): ICatalogAttributeHierarchy[]; computedAttributes(): ICatalogComputedAttribute[]; } //# sourceMappingURL=catalog.d.ts.map