import { PAGComposition } from './pag-composition';
import type { PAGImage } from './pag-image';
import { LayerType, PAGTimeStretchMode, TextDocument } from './types';
export declare class PAGFile extends PAGComposition {
    /**
     * Load pag file from file.
     */
    static load(data: File | Blob | ArrayBuffer): Promise<PAGFile>;
    /**
     * Load pag file from arrayBuffer
     */
    static loadFromBuffer(buffer: ArrayBuffer): PAGFile;
    /**
     * The maximum tag level current SDK supports.
     */
    static maxSupportedTagLevel(): number;
    /**
     * The tag level this pag file requires.
     */
    tagLevel(): number;
    /**
     * The number of replaceable texts.
     */
    numTexts(): number;
    /**
     * The number of replaceable images.
     */
    numImages(): number;
    /**
     * The number of video compositions.
     */
    numVideos(): number;
    /**
     * Get a text data of the specified index. The index ranges from 0 to numTexts - 1.
     * Note: It always returns the default text data.
     */
    getTextData(editableTextIndex: number): TextDocument;
    /**
     * Replace the text data of the specified index. The index ranges from 0 to PAGFile.numTexts - 1.
     * Passing in null for the textData parameter will reset it to default text data.
     */
    replaceText(editableTextIndex: number, textData: TextDocument): void;
    /**
     * Replace the image content of the specified index with a PAGImage object. The index ranges from
     * 0 to PAGFile.numImages - 1. Passing in null for the image parameter will reset it to default
     * image content.
     */
    replaceImage(editableImageIndex: number, pagImage: PAGImage): void;
    /**
     * Return an array of layers by specified editable index and layer type.
     */
    getLayersByEditableIndex(editableIndex: Number, layerType: LayerType): import("./types").Vector<import("./pag-image-layer").PAGImageLayer | import("./pag-layer").PAGLayer | import("./pag-solid-layer").PAGSolidLayer | import("./pag-text-layer").PAGTextLayer>;
    /**
     * Returns the indices of the editable layers in this PAGFile.
     * If the editableIndex of a PAGLayer is not present in the returned indices, the PAGLayer should
     * not be treated as editable.
     */
    getEditableIndices(layerType: LayerType): Array<number>;
    /**
     * Indicate how to stretch the original duration to fit target duration when file's duration is
     * changed. The default value is PAGTimeStretchMode::Repeat.
     */
    timeStretchMode(): PAGTimeStretchMode;
    /**
     * Set the timeStretchMode of this file.
     */
    setTimeStretchMode(value: PAGTimeStretchMode): void;
    /**
     * Set the duration of this PAGFile. Passing a value less than or equal to 0 resets the duration
     * to its default value.
     */
    setDuration(duration: number): void;
    /**
     * Set the duration of this PAGFile. Passing a value less than or equal to 0 resets the duration
     * to its default value.
     */
    copyOriginal(): PAGFile;
}
