import type { ResourceHandler } from '../../resource/ResourceHandler'; import type { HtmlInfoBookSerializer, ISerializeContext } from '../../serialize/HtmlInfoBookSerializer'; import type { IFileWriter } from '../IFileWriter'; import type { IInfoAppendix } from '../IInfoAppendix'; import type { IInfoBookAppendixHandler } from './IInfoBookAppendixHandler'; /** * Handles abstract recipe appendices. */ export declare abstract class InfoBookAppendixHandlerAbstractRecipe implements IInfoBookAppendixHandler { protected readonly id: string; protected readonly resourceHandler: ResourceHandler; protected readonly registry: IRecipeRegistryIndexed; constructor(id: string, resourceHandler: ResourceHandler, registriesPath: string, recipeOverrides: any); static indexRegistry(registryRead: IRecipeRegistryRead): IRecipeRegistryIndexed; createAppendix(data: any): IInfoAppendix; protected abstract getRecipeNameUnlocalized(): string; protected abstract serializeRecipe(recipe: TR, context: ISerializeContext, fileWriter: IFileWriter, serializer: HtmlInfoBookSerializer): Promise; } export interface IRecipeRegistryRead { recipes: [TR]; } export type IRecipeRegistryIndexed = Record; export interface IRecipe { id: string; }