/// import { AsyncWriter } from "async-writer"; import { ServerResponse } from "http"; import stream = require("stream"); import AsyncVDOMBuilder from "../vdom/AsyncVDOMBuilder"; import AsyncStream from "./AsyncStream"; import RenderResult from "./RenderResult"; export class Readable extends stream.Readable { _t: any; _d: any; _shouldBuffer: boolean; _rendered: boolean; constructor(template: Template, data: any, options: any); write(data: any): void; } export interface Renderable { createOut: any; renderToString(data?: any): string; renderToString(data: any, callback: (err: Error | null, result: string) => void): undefined; renderSync(data?: any): RenderResult; render(data?: any): Promise; render( data: any, out: | AsyncStream | AsyncWriter | AsyncVDOMBuilder | NodeJS.WritableStream | ((err: any, result: RenderResult) => void), ): void; } export default interface Template extends Renderable { path: string; _: any; ___shouldBuffer: boolean; meta: any; (path: string, renderFunc: any, options: any): Template; createOut(globalData?: any, writer?: any, parentOut?: any, buffer?: any): AsyncStream; stream(data: any): Readable; }