import { Shape } from '../classes/shape';
import { ImportedElement, ShapeModificationCallback, ShapeTargetType, Target } from '../types/types';
import IArchive from '../interfaces/iarchive';
import { RootPresTemplate } from '../interfaces/root-pres-template';
export declare class Hyperlink extends Shape {
    private hyperlinkType;
    private hyperlinkTarget;
    callbacks: ShapeModificationCallback[];
    constructor(shape: ImportedElement, targetType: ShapeTargetType, sourceArchive: IArchive, hyperlinkType: 'internal' | 'external', hyperlinkTarget: string);
    modify(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<Hyperlink>;
    append(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<Hyperlink>;
    remove(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<Hyperlink>;
    private getRelationsElement;
    prepare(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<void>;
    private determineHyperlinkType;
    private editTargetHyperlinkRel;
    static getAllOnSlide(archive: IArchive, relsPath: string): Promise<Target[]>;
    modifyOnAddedSlide(targetTemplate: RootPresTemplate, targetSlideNumber: number): Promise<void>;
    static addHyperlinkToShape(archive: IArchive, slidePath: string, slideRelsPath: string, shapeId: string, hyperlinkTarget: string | number): Promise<string>;
}
