import Immutable from "immutable";
import Book from "./book";
import Page from "./page";
import type GeneratorState from "../output/website/state";
type Assets = Immutable.List<string>;
type State = GeneratorState;
type Options = Immutable.Map<any, any>;
declare const Output_base: Immutable.Record.Class;
declare class Output extends Output_base {
    getBook(): Book;
    getGenerator(): string;
    getPlugins(): Immutable.OrderedMap<string, Plugin>;
    getPages(): Immutable.OrderedMap<string, Page>;
    getOptions(): Options;
    getAssets(): Assets;
    getState(): State;
    /**
     Return a page byt its file path

     @param {string} filePath
     @return {Page|undefined}
     */
    getPage(filePath: string): Page | undefined;
    reloadPage(contentRootDir: string, filePath: string): Immutable.Map<string, any>;
    /**
     Get root folder for output

     @return {string}
     */
    getRoot(): string;
    /**
     Update state of output

     @param {Map} newState
     @return {Output}
     */
    setState(newState: State): Output;
    /**
     Update options

     @param {Map} newOptions
     @return {Output}
     */
    setOptions(newOptions: Options): Output;
    /**
     Return logegr for this output (same as book)

     @return {Logger}
     */
    getLogger(): any;
}
export default Output;
//# sourceMappingURL=output.d.ts.map