import { IUserTemplate, IUserTemplateCategory } from '../../interfaces/interfaces'; /** * This service allow you rewrite the default Builder Storage methods. It contains all methods builder needs to cache or store objects. * Alternatively you can rewrite the [IP_TEMPLATES_TEMPORARY_STORAGE]{@link IP_TEMPLATES_TEMPORARY_STORAGE} * or [IP_STORAGE_FACTORY]{@link IP_STORAGE_FACTORY} tokens. * * In next major updates, it can have some limitations for Regular License. * * @example * // Create a custom service * class YourOwnStorageService extends IpStorageService {} * * // Rewrite it into AppModule * { provide: IpStorageService, useClass: YourOwnStorageService } */ export declare abstract class IpStorageService { /** * Storage for templates defined by [IP_TEMPLATES_TEMPORARY_STORAGE]{@link IP_TEMPLATES_TEMPORARY_STORAGE} token. */ templateStorage: Storage; constructor( /** * Storage for templates defined by [IP_TEMPLATES_TEMPORARY_STORAGE]{@link IP_TEMPLATES_TEMPORARY_STORAGE} token. */ templateStorage: Storage); /** * Get the latest used templates end user has chosen from templates list. * @return Latest used templates by end user. */ getLatestUsedTemplates(): IUserTemplate[]; /** * Add a template to end user's chosen templates list. * @param template Template end user chosen. */ addTemplateToLatestUsed(template: IUserTemplate): void; /** * Clear all latest used templates cache. */ clearLatestUsed(): void; /** * Cache a fully templates list. * @param list Template list to cache */ cacheTemplateList(list: IUserTemplateCategory[]): void; /** * Get a cached templates list if exists. * @return Either a cached templates list or an empty array. */ getCachedTemplateList(): IUserTemplateCategory[]; /** * Clear all templates list cache. */ clearCachedTemplateList(): void; }