Base

Exports related to mash media.

interface ClientMash 
extends MashMedia {
  accountId: string
  addClipToTrack: (clip: OrArray<ClientClip>, trackIndex?: number, insertIndex?: number, frame?: number) => void
  addMedia: (assetOrArray: OrArray<Media>, location: ClipLocation) => Promise<DataOrError<Array<Media>>>
  addTrack: (object?: TrackObject) => ClientTrack
  api: () => Promise<DataOrError<Api>>
  asStored: unknown
  boolean: (key: string) => boolean
  buffer: number
  cacheMedia: (args: MediaCacheArgs) => Promise<DataOrError<number>>
  canBeMuted: boolean
  changeObject: (propertyId: SignalId, scalar?: Scalar) => ChangeEditObject
  changeScalars: (scalars: ScalarsById) => void
  changeTiming: (propertied: Propertied, property: string, value: number) => void
  changesObject: (scalars: ScalarsById) => ChangePropertiesEditObject
  clipInstance: (object: ClipObject) => Clip
  clipObject: (object?: InstanceObject) => ClipObject
  clips: Array<Clip>
  clipsAudibleInTime: (time: Time) => Array<Clip>
  clipsInTimeOfType: (time: Time, avType?: AudibleType) => Array<Clip>
  composition: AudioPreview
  constrainedValue: (found: Property, value?: Scalar) => Scalar | undefined
  createdAt?: number
  deletedAt?: number
  draw: () => void
  drawnTime?: Time
  duration: number
  edits?: UndoableEdits
  elementsPromise: (rect: Rect, immutable?: boolean) => Promise<Array<SvgItem>>
  encoding?: Resource
  endTime: Time
  fetchResource: (resource: Resource) => Promise<DataOrError<true>>
  findClip: (id?: string) => ClientClip | undefined
  findResource: (types: Strings) => Resource | undefined
  frame: number
  frames: (quantize: number) => number
  framesHaveChanged: (frames?: number) => void
  hasIntrinsicSizing?: boolean
  hasIntrinsicTiming?: boolean
  host: Plugins
  id: string
  instanceArgs: (object?: InstanceObject) => InstanceArgs
  instanceFromObject: (object?: InstanceObject) => Instance
  label: string
  loading: boolean
  loop: boolean
  mediaFromId: (assetId?: string) => Media | undefined
  mediaIds: Strings
  number: (key: string) => number
  paused: boolean
  properties: Array<Property>
  propertiesOfTarget: (targetId: string) => Array<Property>
  propertyFind: (name: string) => Property | undefined
  propertyIds: (targetId: string) => Array<SignalId>
  reload: () => Promise<void> | undefined
  removeClipFromTrack: (clip: OrArray<ClientClip>) => void
  removeTrack: (index?: number) => void
  resources: Array<Resource>
  scalarsRecord: (idOrNames: Strings) => ScalarRecord
  seekToTime: (time: Time) => Promise<void> | undefined
  setValue: (nameOrId: string, scalar?: Scalar, dontConstrain?: boolean) => void
  shouldSelectProperty: (property: Property) => boolean
  signals: SignalsRecord
  size: Size
  source: string
  string: (key: string) => string
  targetId: string
  time: Time
  timeRange: TimeRange
  timeToBuffer: Time
  toJSON: () => unknown
  totalFrames: number
  trackInstance: (args: TrackArgs) => Track
  tracks: Array<Track>
  tweenValues: (key: string, time: Time, range: TimeRange) => Array<Scalar>
  tweens: (key: string) => boolean
  type: string
  unload: () => void
  updatedAt?: number
  userId?: string
  value: (key: string) => Scalar | undefined
}
/** Argument supplied to constructor. */
interface MashArgs 
extends StoredMedia, MashProperties {
  accountId: string
  buffer?: number
  createdAt?: number
  deletedAt?: number
  id: string
  label: string
  resources?: Array<StoredResource>
  source: string
  tracks?: Array<TrackObject>
  type: string
  updatedAt?: number
  userId?: string
}
interface MashAudio 
extends MashMedia {
  accountId: string
  api: () => Promise<DataOrError<Api>>
  asStored: unknown
  boolean: (key: string) => boolean
  cacheMedia: (args: MediaCacheArgs) => Promise<DataOrError<number>>
  canBeMuted: boolean
  changeObject: (propertyId: SignalId, scalar?: Scalar) => ChangeEditObject
  changeScalars: (scalars: ScalarsById) => void
  changesObject: (scalars: ScalarsById) => ChangePropertiesEditObject
  clipInstance: (object: ClipObject) => Clip
  clipObject: (object?: InstanceObject) => ClipObject
  clips: Array<Clip>
  clipsAudibleInTime: (time: Time) => Array<Clip>
  clipsInTimeOfType: (time: Time, avType?: AudibleType) => Array<Clip>
  constrainedValue: (found: Property, value?: Scalar) => Scalar | undefined
  createdAt?: number
  deletedAt?: number
  duration: number
  endTime: Time
  fetchResource: (resource: Resource) => Promise<DataOrError<true>>
  findResource: (types: Strings) => Resource | undefined
  frames: (quantize: number) => number
  hasIntrinsicSizing?: boolean
  hasIntrinsicTiming?: boolean
  host: Plugins
  id: string
  instanceArgs: (object?: InstanceObject) => InstanceArgs
  instanceFromObject: (object?: InstanceObject) => Instance
  label: string
  mediaFromId: (assetId?: string) => Media | undefined
  mediaIds: Strings
  number: (key: string) => number
  properties: Array<Property>
  propertiesOfTarget: (targetId: string) => Array<Property>
  propertyFind: (name: string) => Property | undefined
  propertyIds: (targetId: string) => Array<SignalId>
  resources: Array<Resource>
  scalarsRecord: (idOrNames: Strings) => ScalarRecord
  setValue: (nameOrId: string, scalar?: Scalar, dontConstrain?: boolean) => void
  shouldSelectProperty: (property: Property) => boolean
  size: Size
  source: string
  string: (key: string) => string
  targetId: string
  toJSON: () => unknown
  totalFrames: number
  trackInstance: (args: TrackArgs) => Track
  tracks: Array<Track>
  tweenValues: (key: string, time: Time, range: TimeRange) => Array<Scalar>
  tweens: (key: string) => boolean
  type: string
  unload: () => void
  updatedAt?: number
  userId?: string
  value: (key: string) => Scalar | undefined
}
interface MashImage 
extends MashMedia {
  accountId: string
  api: () => Promise<DataOrError<Api>>
  asStored: unknown
  boolean: (key: string) => boolean
  cacheMedia: (args: MediaCacheArgs) => Promise<DataOrError<number>>
  canBeMuted: boolean
  changeObject: (propertyId: SignalId, scalar?: Scalar) => ChangeEditObject
  changeScalars: (scalars: ScalarsById) => void
  changesObject: (scalars: ScalarsById) => ChangePropertiesEditObject
  clipInstance: (object: ClipObject) => Clip
  clipObject: (object?: InstanceObject) => ClipObject
  clips: Array<Clip>
  clipsAudibleInTime: (time: Time) => Array<Clip>
  clipsInTimeOfType: (time: Time, avType?: AudibleType) => Array<Clip>
  constrainedValue: (found: Property, value?: Scalar) => Scalar | undefined
  createdAt?: number
  deletedAt?: number
  duration: number
  endTime: Time
  fetchResource: (resource: Resource) => Promise<DataOrError<true>>
  findResource: (types: Strings) => Resource | undefined
  frames: (quantize: number) => number
  hasIntrinsicSizing?: boolean
  hasIntrinsicTiming?: boolean
  host: Plugins
  id: string
  instanceArgs: (object?: InstanceObject) => InstanceArgs
  instanceFromObject: (object?: InstanceObject) => Instance
  label: string
  mediaFromId: (assetId?: string) => Media | undefined
  mediaIds: Strings
  number: (key: string) => number
  properties: Array<Property>
  propertiesOfTarget: (targetId: string) => Array<Property>
  propertyFind: (name: string) => Property | undefined
  propertyIds: (targetId: string) => Array<SignalId>
  resources: Array<Resource>
  scalarsRecord: (idOrNames: Strings) => ScalarRecord
  setValue: (nameOrId: string, scalar?: Scalar, dontConstrain?: boolean) => void
  shouldSelectProperty: (property: Property) => boolean
  size: Size
  source: string
  string: (key: string) => string
  targetId: string
  toJSON: () => unknown
  totalFrames: number
  trackInstance: (args: TrackArgs) => Track
  tracks: Array<Track>
  tweenValues: (key: string, time: Time, range: TimeRange) => Array<Scalar>
  tweens: (key: string) => boolean
  type: string
  unload: () => void
  updatedAt?: number
  userId?: string
  value: (key: string) => Scalar | undefined
}
interface MashImageInstance 
extends ClippedRawImage, MashInstance {
  asset: Media
  assetFrames: (quantize: number) => Numbers
  assetId: string
  assetTime: (masherTime: Time) => Time
  boolean: (key: string) => boolean
  cacheInstance: (args: InstanceCacheArgs) => Promise<DataOrError<number>>
  canBeMuted: boolean
  changeObject: (propertyId: SignalId, scalar?: Scalar) => ChangeEditObject
  changeScalars: (scalars: ScalarsById) => void
  changesObject: (scalars: ScalarsById) => ChangePropertiesEditObject
  clip: Clip
  clippedElement: (content: VisibleInstance, args: ContainerSvgItemArgs) => DataOrError<SvgItemsRecord>
  constrainedValue: (found: Property, value?: Scalar) => Scalar | undefined
  containedItem: (contentItem: MaybeComplexSvgItem, containerItem: MaybeComplexSvgItem, args: ContainerSvgItemArgs) => DataOrError<SvgItemsRecord>
  containerRects: (args: ContainerRectArgs, sizingSize: Size) => RectTuple
  containerSvgItem: (args: ContainerSvgItemArgs) => DataOrError<MaybeComplexSvgItem>
  contentRect: (time: Time, containerRect: Rect, outputSize: Size) => Rect
  contentRects: (args: ContentRectArgs) => RectTuple
  contentSvgItem: (args: ContentSvgItemArgs) => DataOrError<MaybeComplexSvgItem>
  cropDirections: SideDirectionRecord
  frames: (quantize: number) => number
  host: Plugins
  id: string
  instanceObject: InstanceObject
  intrinsicRect: Rect
  intrinsicsKnown: (options: IntrinsicOptions) => boolean
  isDefault: boolean
  mediaIds: Strings
  muted: boolean
  number: (key: string) => number
  properties: Array<Property>
  propertiesOfTarget: (targetId: string) => Array<Property>
  propertyFind: (name: string) => Property | undefined
  propertyIds: (targetId: string) => Array<SignalId>
  scalarsById: (targetId: string, time?: Time, timeIsStart?: boolean, useNames?: boolean) => SignalScalarRecord
  scalarsRecord: (idOrNames: Strings) => ScalarRecord
  scaleRects: (time: Time, range: TimeRange) => RectTuple
  setValue: (nameOrId: string, scalar?: Scalar, dontConstrain?: boolean) => void
  shouldSelectProperty: (property: Property) => boolean
  sizeKey?: SizeKey
  string: (key: string) => string
  svgItem: (rect: Rect, opacity: Scalar) => DataOrError<SvgItem>
  svgVector: (rect: Rect, forecolor?: string, opacity?: Scalar) => SvgVector
  targetId: string
  toJSON: () => unknown
  tweenValues: (key: string, time: Time, range: TimeRange) => Array<Scalar>
  tweening: boolean
  tweens: (key: string) => boolean
  value: (key: string) => Scalar | undefined
}
interface MashInstance 
extends Instance {
  asset: Media
  assetFrames: (quantize: number) => Numbers
  assetId: string
  assetTime: (masherTime: Time) => Time
  boolean: (key: string) => boolean
  cacheInstance: (args: InstanceCacheArgs) => Promise<DataOrError<number>>
  canBeMuted: boolean
  changeObject: (propertyId: SignalId, scalar?: Scalar) => ChangeEditObject
  changeScalars: (scalars: ScalarsById) => void
  changesObject: (scalars: ScalarsById) => ChangePropertiesEditObject
  clip: Clip
  constrainedValue: (found: Property, value?: Scalar) => Scalar | undefined
  frames: (quantize: number) => number
  host: Plugins
  id: string
  instanceObject: InstanceObject
  intrinsicsKnown: (options: IntrinsicOptions) => boolean
  isDefault: boolean
  mediaIds: Strings
  muted: boolean
  number: (key: string) => number
  properties: Array<Property>
  propertiesOfTarget: (targetId: string) => Array<Property>
  propertyFind: (name: string) => Property | undefined
  propertyIds: (targetId: string) => Array<SignalId>
  scalarsById: (targetId: string, time?: Time, timeIsStart?: boolean, useNames?: boolean) => SignalScalarRecord
  scalarsRecord: (idOrNames: Strings) => ScalarRecord
  setValue: (nameOrId: string, scalar?: Scalar, dontConstrain?: boolean) => void
  shouldSelectProperty: (property: Property) => boolean
  string: (key: string) => string
  targetId: string
  toJSON: () => unknown
  tweenValues: (key: string, time: Time, range: TimeRange) => Array<Scalar>
  tweens: (key: string) => boolean
  value: (key: string) => Scalar | undefined
}
interface MashInstanceObject 
extends InstanceObject {}
interface MashProperties  {
  buffer?: number
  tracks?: Array<TrackObject>
}
/** @implements ClientMash */
class ClientMashAudioClass {
  accountId: string
  addClipToTrack: (clip: OrArray<ClientClip>, trackIndex?: number, insertIndex?: number, frame?: number) => void
  addMedia: (assetOrArray: OrArray<Media>, location: ClipLocation) => Promise<DataOrError<Array<Media>>>
  addTrack: (object?: TrackObject) => ClientTrack
  api: () => Promise<DataOrError<Api>>
  asStored: unknown
  boolean: (key: string) => boolean
  buffer: number
  cacheMedia: (args: MediaCacheArgs) => Promise<DataOrError<number>>
  canBeMuted: boolean
  changeObject: (propertyId: SignalId, scalar?: Scalar) => ChangeEditObject
  changeScalars: (scalars: ScalarsById) => void
  changeTiming: (propertied: Propertied, property: string, value: number) => void
  changesObject: (scalars: ScalarsById) => ChangePropertiesEditObject
  clipInstance: (object: ClipObject) => Clip
  clipObject: (object?: InstanceObject) => ClipObject
  clips: Array<Clip>
  clipsAudibleInTime: (time: Time) => Array<Clip>
  clipsInTimeOfType: (time: Time, avType?: AudibleType) => Array<Clip>
  composition: AudioPreview
  constrainedValue: (found: Property, value?: Scalar) => Scalar | undefined
  createdAt?: number
  deletedAt?: number
  draw: () => void
  drawnTime?: Time
  duration: number
  edits?: UndoableEdits
  elementsPromise: (rect: Rect, immutable?: boolean) => Promise<Array<SvgItem>>
  encoding?: Resource
  endTime: Time
  fetchResource: (resource: Resource) => Promise<DataOrError<true>>
  findClip: (id?: string) => ClientClip | undefined
  findResource: (types: Strings) => Resource | undefined
  frame: number
  frames: (quantize: number) => number
  framesHaveChanged: (frames?: number) => void
  hasIntrinsicSizing?: boolean
  hasIntrinsicTiming?: boolean
  host: Plugins
  id: string
  instanceArgs: (object?: InstanceObject) => InstanceArgs
  instanceFromObject: (object?: InstanceObject) => Instance
  label: string
  loading: boolean
  loop: boolean
  mediaFromId: (assetId?: string) => Media | undefined
  mediaIds: Strings
  number: (key: string) => number
  paused: boolean
  properties: Array<Property>
  propertiesOfTarget: (targetId: string) => Array<Property>
  propertyFind: (name: string) => Property | undefined
  propertyIds: (targetId: string) => Array<SignalId>
  reload: () => Promise<void> | undefined
  removeClipFromTrack: (clip: OrArray<ClientClip>) => void
  removeTrack: (index?: number) => void
  resources: Array<Resource>
  scalarsRecord: (idOrNames: Strings) => ScalarRecord
  seekToTime: (time: Time) => Promise<void> | undefined
  setValue: (nameOrId: string, scalar?: Scalar, dontConstrain?: boolean) => void
  shouldSelectProperty: (property: Property) => boolean
  signals: SignalsRecord
  size: Size
  source: string
  string: (key: string) => string
  targetId: string
  time: Time
  timeRange: TimeRange
  timeToBuffer: Time
  toJSON: () => unknown
  totalFrames: number
  trackInstance: (args: TrackArgs) => Track
  tracks: Array<Track>
  tweenValues: (key: string, time: Time, range: TimeRange) => Array<Scalar>
  tweens: (key: string) => boolean
  type: string
  unload: () => void
  updatedAt?: number
  userId?: string
  value: (key: string) => Scalar | undefined
}
/** @implements ClientMash */
class ClientMashClass {
  accountId: string
  addClipToTrack: (clip: OrArray<ClientClip>, trackIndex?: number, insertIndex?: number, frame?: number) => void
  addMedia: (assetOrArray: OrArray<Media>, location: ClipLocation) => Promise<DataOrError<Array<Media>>>
  addTrack: (object?: TrackObject) => ClientTrack
  api: () => Promise<DataOrError<Api>>
  asStored: unknown
  boolean: (key: string) => boolean
  buffer: number
  cacheMedia: (args: MediaCacheArgs) => Promise<DataOrError<number>>
  canBeMuted: boolean
  changeObject: (propertyId: SignalId, scalar?: Scalar) => ChangeEditObject
  changeScalars: (scalars: ScalarsById) => void
  changeTiming: (propertied: Propertied, property: string, value: number) => void
  changesObject: (scalars: ScalarsById) => ChangePropertiesEditObject
  clipInstance: (object: ClipObject) => Clip
  clipObject: (object?: InstanceObject) => ClipObject
  clips: Array<Clip>
  clipsAudibleInTime: (time: Time) => Array<Clip>
  clipsInTimeOfType: (time: Time, avType?: AudibleType) => Array<Clip>
  composition: AudioPreview
  constrainedValue: (found: Property, value?: Scalar) => Scalar | undefined
  createdAt?: number
  deletedAt?: number
  draw: () => void
  drawnTime?: Time
  duration: number
  edits?: UndoableEdits
  elementsPromise: (rect: Rect, immutable?: boolean) => Promise<Array<SvgItem>>
  emitIfFramesChange: (method: VoidFunction) => void
  encoding?: Resource
  endTime: Time
  fetchResource: (resource: Resource) => Promise<DataOrError<true>>
  findClip: (id?: string) => ClientClip | undefined
  findResource: (types: Strings) => Resource | undefined
  frame: number
  frames: (quantize: number) => number
  framesHaveChanged: (frames?: number) => void
  hasIntrinsicSizing?: boolean
  hasIntrinsicTiming?: boolean
  host: Plugins
  id: string
  instanceArgs: (object?: InstanceObject) => InstanceArgs
  instanceFromObject: (object?: InstanceObject) => Instance
  label: string
  loading: boolean
  loop: boolean
  mediaFromId: (assetId?: string) => Media | undefined
  mediaIds: Strings
  number: (key: string) => number
  paused: boolean
  properties: Array<Property>
  propertiesOfTarget: (targetId: string) => Array<Property>
  propertyFind: (name: string) => Property | undefined
  propertyIds: (targetId: string) => Array<SignalId>
  reload: () => Promise<void> | undefined
  removeClipFromTrack: (clip: OrArray<ClientClip>) => void
  removeTrack: (index?: number) => void
  resources: Array<Resource>
  scalarsRecord: (idOrNames: Strings) => ScalarRecord
  seekToTime: (time: Time) => Promise<void> | undefined
  setValue: (nameOrId: string, scalar?: Scalar, dontConstrain?: boolean) => void
  shouldSelectProperty: (property: Property) => boolean
  signals: SignalsRecord
  size: Size
  source: string
  string: (key: string) => string
  targetId: string
  time: Time
  timeRange: TimeRange
  timeToBuffer: Time
  toJSON: () => unknown
  totalFrames: number
  trackInstance: (args: TrackArgs) => Track
  tracks: Array<Track>
  tweenValues: (key: string, time: Time, range: TimeRange) => Array<Scalar>
  tweens: (key: string) => boolean
  type: string
  unload: () => void
  updatedAt?: number
  userId?: string
  value: (key: string) => Scalar | undefined
}
/** @implements ClientMash */
class ClientMashImageClass {
  accountId: string
  addClipToTrack: (clip: OrArray<ClientClip>, trackIndex?: number, insertIndex?: number, frame?: number) => void
  addMedia: (assetOrArray: OrArray<Media>, location: ClipLocation) => Promise<DataOrError<Array<Media>>>
  addTrack: (object?: TrackObject) => ClientTrack
  api: () => Promise<DataOrError<Api>>
  asStored: unknown
  boolean: (key: string) => boolean
  buffer: number
  cacheMedia: (args: MediaCacheArgs) => Promise<DataOrError<number>>
  canBeMuted: boolean
  changeObject: (propertyId: SignalId, scalar?: Scalar) => ChangeEditObject
  changeScalars: (scalars: ScalarsById) => void
  changeTiming: (propertied: Propertied, property: string, value: number) => void
  changesObject: (scalars: ScalarsById) => ChangePropertiesEditObject
  clipInstance: (object: ClipObject) => Clip
  clipObject: (object?: InstanceObject) => ClipObject
  clips: Array<Clip>
  clipsAudibleInTime: (time: Time) => Array<Clip>
  clipsInTimeOfType: (time: Time, avType?: AudibleType) => Array<Clip>
  composition: AudioPreview
  constrainedValue: (found: Property, value?: Scalar) => Scalar | undefined
  createdAt?: number
  deletedAt?: number
  draw: () => void
  drawnTime?: Time
  duration: number
  edits?: UndoableEdits
  elementsPromise: (rect: Rect, immutable?: boolean) => Promise<Array<SvgItem>>
  encoding?: Resource
  endTime: Time
  fetchResource: (resource: Resource) => Promise<DataOrError<true>>
  findClip: (id?: string) => ClientClip | undefined
  findResource: (types: Strings) => Resource | undefined
  frame: number
  frames: (quantize: number) => number
  framesHaveChanged: (frames?: number) => void
  hasIntrinsicSizing?: boolean
  hasIntrinsicTiming?: boolean
  host: Plugins
  id: string
  instanceArgs: (object?: InstanceObject) => InstanceArgs
  instanceFromObject: (object?: InstanceObject) => Instance
  label: string
  loading: boolean
  loop: boolean
  mediaFromId: (assetId?: string) => Media | undefined
  mediaIds: Strings
  number: (key: string) => number
  paused: boolean
  properties: Array<Property>
  propertiesOfTarget: (targetId: string) => Array<Property>
  propertyFind: (name: string) => Property | undefined
  propertyIds: (targetId: string) => Array<SignalId>
  reload: () => Promise<void> | undefined
  removeClipFromTrack: (clip: OrArray<ClientClip>) => void
  removeTrack: (index?: number) => void
  resources: Array<Resource>
  scalarsRecord: (idOrNames: Strings) => ScalarRecord
  seekToTime: (time: Time) => Promise<void> | undefined
  setValue: (nameOrId: string, scalar?: Scalar, dontConstrain?: boolean) => void
  shouldSelectProperty: (property: Property) => boolean
  signals: SignalsRecord
  size: Size
  source: string
  string: (key: string) => string
  targetId: string
  time: Time
  timeRange: TimeRange
  timeToBuffer: Time
  toJSON: () => unknown
  totalFrames: number
  trackInstance: (args: TrackArgs) => Track
  tracks: Array<Track>
  tweenValues: (key: string, time: Time, range: TimeRange) => Array<Scalar>
  tweens: (key: string) => boolean
  type: string
  unload: () => void
  updatedAt?: number
  userId?: string
  value: (key: string) => Scalar | undefined
}
function extractMediaIdsFromMash(
  mash: StoredMash
): Strings