import {Readable as ReadableStream} from 'stream' export interface PresentationRoutes { export: string, exportInfo: string, exportById: string, download: string, versionInfo: string, scaffoldingVersion: string, presentation: string, presentationById: string } export interface ExportOptions { shared?: boolean, sharedOnly?: boolean, pdfs?: boolean, manifest?: boolean, chapter?: boolean structure?: string, slides?: string[] } export interface ExportPostParams{ type: string, sub_type: string options?: string } export interface PresentationPostParams{ package: ReadableStream, } export interface PresentationPostDiffParams{ info: string, package: ReadableStream, } export interface ExportGetParams extends ExportGetData{ sub_type?: string } export interface ExportGetOptions extends ExportGetData{ subtype?: string } export interface ExportData extends Datable{ id: string type: TypeData sub_type: TypeData presentation: PresentationData last_build: { status: PresentationStatus[] } } export interface ClmBuildData extends ExportData{ last_build: { status: PresentationStatus[] } } export interface DocBuildData extends ExportData{} export interface AppBuildData extends ExportData{ last_build: { status: PresentationStatus[] application: ApplicationUrls } } interface ApplicationUrls{ [os: string]: { download: string install: string } } export interface CobaltVersionData{ cobaltVersion: string, scaffoldingVersion: string } export interface PresentationDetail extends Datable{ id: string, name: string, version: string, eDetailing_id: string, tag: string, status: PresentationStatus, links: PresentationLinks } export enum Status{ Success, InProgress, Failed } export interface ExportGetData{ type?: string, top: number, skip?: number } export interface PresentationStatus extends Datable{ id: string, type: string } export interface TypeData extends Datable{ id: string, name: string code: string } export interface DocumentExtension { [type: string]: string } export interface PresentationLinks{ download: string } interface PresentationData{ id: string, name: string } interface Datable{ created_at: string, updated_at: string }