import * as React from 'react'; import * as A from '../../application/ApplicationTypes'; import { WithStyles } from '../../core/withStyles'; import * as D from '../../devices/DeviceTypes'; import * as P from '../PresentationTypes'; import styles from './PresentationBuilder.styles'; interface PresentationBuilderProps extends WithStyles { presentation?: P.Presentation; initialPresentationState?: P.Presentation; appVersion?: A.AppVersion; themes?: P.Theme[]; soundZones?: P.SoundZone[]; playlists?: P.Playlist[]; affectedDevices?: D.Device[]; previewMode?: P.PreviewMode; minDuration?: number; onCancel?: () => void; onSave?: (presentation: P.Presentation, files: FileUpload[]) => void; onStateChange?: (presentation: P.Presentation, prop: A.PresentationProperty, path: P.Path, value: any, file?: File) => void; children?: (presentation: P.Presentation, errors: P.PresentationError[], previewMode: P.PreviewMode) => React.ReactNode; } interface FileUpload { path: P.Path; file: File; } interface PresentationBuilderState { presentation?: P.Presentation; previewPresentation?: P.Presentation; validate: boolean; previewMode: P.PreviewMode; files: FileUpload[]; showAffectedDevices: boolean; } export declare class PresentationBuilder extends React.Component { static defaultProps: Partial; state: PresentationBuilderState; queuedPresentationPreview: P.Presentation | null; componentDidUpdate(prevProps: PresentationBuilderProps): void; handleSave: () => void; handleBlur: () => void; updatePresentation(path: P.Path, value: any, property: A.PresentationProperty, file?: File): void; handleFileChange(path: P.Path, file: File): void; renderApplicationVariables(appVars: P.ApplicationVariables, properties: A.PresentationProperty[], path: P.Path, strings: A.Strings, errors: P.PresentationError[]): React.ReactNode[]; renderInput(property: A.PresentationProperty, propertyTypeIndex: number, value: any, parentValue: any, path: P.Path, strings: A.Strings, errors?: P.PresentationError[]): React.ReactNode; renderInputHelperText(property: A.PresentationProperty, path: P.Path, strings: A.Strings, error?: string): React.ReactNode; renderWarnings(): JSX.Element[]; renderPreview(): JSX.Element; renderForm(): JSX.Element; render(): JSX.Element; } declare const _default: React.FunctionComponent & Partial> & Partial, never>>, "children" | "presentation" | "playlists" | "appVersion" | "previewMode" | "soundZones" | "initialPresentationState" | "themes" | "affectedDevices" | "minDuration" | "onCancel" | "onSave" | "onStateChange"> & import("@material-ui/core/styles/withStyles").StyledComponentProps & import("../../core/ThemeSelector/ThemeSelector").ThemeProps>; export default _default;