import { Base_segment } from './segment'; import { Video_segment, Sticker_segment } from './video_segment'; import { AudioSegment } from './audio_segment'; import { Text_segment } from './text_segment'; import { Effect_segment, Filter_segment } from './effect_segment'; type SegmentType = typeof Video_segment | typeof AudioSegment | typeof Effect_segment | typeof Filter_segment | typeof Text_segment | typeof Sticker_segment | null; declare class Track_meta { segment_type: SegmentType; render_index: number; allow_modify: boolean; name: string; constructor(segment_type: SegmentType, render_index: number, allow_modify: boolean, name?: string); } export declare class track_type { static video: Track_meta; static audio: Track_meta; static effect: Track_meta; static filter: Track_meta; static sticker: Track_meta; static text: Track_meta; static adjust: Track_meta; static fromName(name: string): any; } export declare abstract class Base_track { track_type: track_type | null; name: string; track_id: string; render_index: number; abstract export_json(): Record; } export declare class Track extends Base_track { mute: boolean; segments: Seg_type[]; constructor(track_type: track_type, name: string, render_index: number, mute: boolean, track_id?: string); get end_time(): number; get accept_segment_type(): new (...args: any[]) => Seg_type; add_segment(segment: Seg_type): Track; export_json(): Record; } export {};