import { Asset } from '../assets/tav-asset';
import { tav } from '../tav';
import { Clip } from './tav-clip';
/**
 * Base class for all timed audiovisual resources created from assets or compositions. Media has a
 * contentDuration property which represents its original playback duration, so changing the duration
 * property of a Media will affect its playback speed.
 *
 * @hideconstructor
 * @category Clips
 */
export declare class MediaClip extends Clip {
    readonly type: string;
    protected _asset: Asset;
    private _volume;
    /**
     * @ignore
     */
    get isNativeInvalidated(): boolean;
    release(): void;
    protected updateClip(clip: tav.Clip): Promise<void>;
    /**
     * @ignore
     */
    get asset(): Asset;
    protected set asset(val: Asset);
    /**
     * Get or set the start time of the asset to be used in the clip.
     */
    get contentStartTime(): number;
    set contentStartTime(time: number);
    /**
     * Get or set the duration of the asset to be used in the clip.
     * If the content duration is different from the duration of the clip,
     * the clip will change the playback speed.
     */
    get contentDuration(): number;
    set contentDuration(time: number);
    /**
     * Get or set the volume of this media, which is usually in the range [0 - 1.0].
     */
    get volume(): number;
    set volume(vol: number);
    protected setContentStartTime(time: number): void;
    protected setContentDuration(time: number): void;
}
