graphdb-workbench
Version:
The web application for GraphDB APIs
39 lines (38 loc) • 1.74 kB
TypeScript
import { ContextService } from '../context';
import { ProductInfo } from '../../models/product-info';
import { ValueChangeCallback } from '../../models/context/value-change-callback';
import { DeriveContextServiceContract } from '../../models/context/update-context-method';
import { LifecycleHooks } from '../../providers/service/lifecycle-hooks';
type ProductInfoContextFields = {
readonly PRODUCT_INFO: string;
};
type ProductInfoContextFieldParams = {
readonly PRODUCT_INFO: ProductInfo;
};
/**
* Service for managing product information context.
*/
export declare class ProductInfoContextService extends ContextService<ProductInfoContextFields> implements DeriveContextServiceContract<ProductInfoContextFields, ProductInfoContextFieldParams>, LifecycleHooks {
readonly PRODUCT_INFO = "productInfo";
/**
* Updates the product information in the context.
*
* @param productInfo - The new ProductInfo object to be set in the context.
*/
updateProductInfo(productInfo: ProductInfo): void;
/**
* Subscribes to changes in the product information context.
*
* @param callbackFn - A callback function that will be called when the product information changes.
* The callback receives the updated ProductInfo object or undefined as its parameter.
* @returns A function that, when called, will unsubscribe from the product information changes.
*/
onProductInfoChanged(callbackFn: ValueChangeCallback<ProductInfo | undefined>): () => void;
/**
* Retrieves the product information from the context.
*
* @return the product information or undefined, if there is no product information.
*/
getProductInfo(): ProductInfo | undefined;
}
export {};