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;
}