import { Channel, ChannelHierarchy, DraaftConfiguration, Item } from "./types"; export declare class Terraformer { config: DraaftConfiguration; destFolder: string; publicationStateIds: number[]; /** * Terraform pilot content to SSG content * @param config - Draaft configuration */ constructor(config: DraaftConfiguration, destFolder: string, publicationStateIds: number[]); matterize(content: string, frontmatter: Object): string; terraformChannel(channel: Channel): void; writeChannelHierarchy(hierarchy: ChannelHierarchy, parentDirPath: string): void; /** * With a channel list and all items depending attached to it (on its children) build a directory of .md files * with a proper directory structure and filename pattern according to user config * * @param items : List of items attached to this channel */ terraformItems(items: Array): Promise; terraformOneItem(item: Item): Promise; /** * Build a filepath for content according to Hugo io local config (i18n) * * @param document : Draaft document returned by Api * @param options : Extension configuration object */ getItemDirPath(parentFolder: string, item: Item): string; getItemSlug(item: Item): string; /** * Build a filepath for content according to Hugo io local config (i18n) * * @param item : Draaft document returned by Api * @param options : Extension configuration object */ getItemFileName(item: Item): string; /** * Prepare file contents before writing it * * @param item : Draaft item returned by Api */ getItemFileContent(item: any, itemDirPath: string): Promise; customiseFrontmatter(frontmatter: any, schema?: any): any; fetchImages(markdown: string, itemDirPath: string): Promise; }