import { IImmutable as ITrackImmutable } from "../ITrack"; import Track from "../Track"; import Type from "./Type"; import Transcript, { Init as TranscriptInit } from "./Transcript"; import Vocabulary, { Init as VocabularyInit } from "./Vocabulary"; export interface IConstructor { new (init: Init): Class; } export declare type Constructors = IConstructor | IConstructor; export declare function register(type: Type.Transcript, constructor: IConstructor): void; export declare function register(type: Type.Vocabulary, constructor: IConstructor): void; export declare function factory(track: ITrackImmutable): Track; export default factory;