import { Shape } from '../classes/shape';
import { XmlElement } from '../types/xml-types';
import { ImportedElement, ShapeModificationCallback, ShapeTargetType, Target } from '../types/types';
import { RootPresTemplate } from '../interfaces/root-pres-template';
import IArchive from '../interfaces/iarchive';
import { ContentTypeExtension } from '../enums/content-type-map';
export declare class Media extends Shape {
    extension: ContentTypeExtension;
    createdRelation: XmlElement;
    callbacks: ShapeModificationCallback[];
    mediaType: string;
    relRootTag: string;
    constructor(shape: ImportedElement, targetType: ShapeTargetType);
    private getMediaType;
    private getRelRootTag;
    modifyOnAddedSlide(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<Media>;
    modify(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<Media>;
    append(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<Media>;
    applyMediaCallbacks(): void;
    remove(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<Media>;
    prepare(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<void>;
    copyFiles(): Promise<void>;
    appendTypes(): Promise<void>;
    appendToSlideRels(): Promise<void>;
    static getAllOnSlide(archive: IArchive, relsPath: string): Promise<Target[]>;
}
