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';
export declare class Diagram extends Shape {
    sourceElement: XmlElement;
    relTypeColors: string;
    relTypeData: string;
    relTypeLayout: string;
    relTypeQuickStyle: string;
    relTypeDrawing: string;
    callbacks: ShapeModificationCallback[];
    createdRids: Record<string, string>;
    constructor(shape: ImportedElement, targetType: ShapeTargetType);
    modify(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<Diagram>;
    append(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<Diagram>;
    remove(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<Diagram>;
    modifyOnAddedSlide(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<Diagram>;
    prepare(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<void>;
    clone(): Promise<void>;
    updateRelIds(): Promise<void>;
    copyFiles(): Promise<void>;
    appendTypes(): Promise<void>;
    appendToSlideRels(type: string, target: string): Promise<XmlElement>;
    appendDataContentType(): Promise<XmlElement>;
    appendColorsToContentType(): Promise<XmlElement>;
    appendLyoutToContentType(): Promise<XmlElement>;
    appendQuickStyleToContentType(): Promise<XmlElement>;
    appendDrawingToContentType(): Promise<XmlElement>;
    static getAllOnSlide(archive: IArchive, relsPath: string): Promise<Target[]>;
}
