import { Timerange } from './time_util'; import { Visual_segment, Clip_settings } from './segment'; import { VideoMaterial } from './local_materials'; import { SegmentAnimations } from './animation'; import { Effect_meta, Effect_param_instance, Mask_meta, Filter_type, Transition_type, Intro_type, Outro_type, Group_animation_type, Video_scene_effect_type, Video_character_effect_type } from '../data'; declare class Mask { mask_meta: Mask_meta; global_id: string; center_x: number; center_y: number; width: number; height: number; aspect_ratio: number; rotation: number; invert: boolean; feather: number; round_corner: number; constructor(mask_meta: Mask_meta, cx: number, cy: number, w: number, h: number, ratio: number, rot: number, inv: boolean, feather: number, round_corner: number); export_json(): Record; } declare class Video_effect { name: string; global_id: string; effect_id: string; resource_id: string; effect_type: "video_effect" | "face_effect"; apply_target_type: 0 | 2; adjust_params: Effect_param_instance[]; constructor(effect_meta: Video_scene_effect_type | Video_character_effect_type | any, params?: (number)[], apply_target_type?: 0 | 2); export_json(): Record; } declare class Filter { global_id: string; effect_meta: Effect_meta; intensity: number; apply_target_type: 0 | 2; constructor(meta: Effect_meta, intensity: number, apply_target_type?: 0 | 2); export_json(): Record; } declare class Transition { name: string; global_id: string; effect_id: string; resource_id: string; duration: number; is_overlap: boolean; constructor(effect_meta: Transition_type | any, duration?: number); export_json(): Record; } declare class BackgroundFilling { global_id: string; fill_type: "canvas_blur" | "canvas_color"; blur: number; color: string; constructor(fill_type: "canvas_blur" | "canvas_color", blur: number, color: string); export_json(): Record; } declare class Video_segment extends Visual_segment { material_instance: VideoMaterial; material_size: [number, number]; effects: Video_effect[]; filters: Filter[]; mask: Mask | null; transition: Transition | null; background_filling: BackgroundFilling | null; constructor(material: VideoMaterial, target_timerange: Timerange, options?: { source_timerange?: Timerange; speed?: number; volume?: number; clip_settings?: Clip_settings; }); add_animation(animation_type: Intro_type | Outro_type | Group_animation_type | any, duration?: number | string): this; add_effect(effect_type: Video_scene_effect_type | Video_character_effect_type | any, params?: (number | null)[]): this; add_filter(filter_type: Filter_type, intensity?: number): this; add_mask(mask_type: any, options?: { center_x?: number; center_y?: number; size?: number; rotation?: number; feather?: number; invert?: boolean; rect_width?: number; round_corner?: number; }): this; add_transition(transition_type: Transition_type, duration?: number | string): this; add_background_filling(fill_type: "blur" | "color", blur?: number, color?: string): this; export_json(): Record; } declare class Sticker_segment extends Visual_segment { resource_id: string; constructor(resource_id: string, target_timerange: Timerange, clip_settings?: any); add_animation(animation_type: Intro_type | Outro_type | Group_animation_type | any, duration?: number | string): this; export_material(): Record; } export { Mask, Video_effect, Filter, Transition, BackgroundFilling, Video_segment, Sticker_segment, Clip_settings, SegmentAnimations };