import { Asset } from '../assets/tav-asset';
import { tav } from '../tav';
import { MovieClip } from './tav-movie-clip';
import { PAGColorReplacement, PAGImageReplacement, PAGTextReplacement } from '../types/types';
/**
 * A sticker that display PAG file
 * @category Clips
 */
export declare class PAGSticker extends MovieClip {
    /**
     * Creates a PAG sticker object from a asset, return null if the asset does
     * not exist or it's not a valid asset.
     * @param asset The asset used to create the sticker.
     * @param contentStartTime The start time of the content in the asset.
     * @param contentDuration The duration of the content in the asset.
     * @param stretchDuration Set the duration of the PAGFile, stretch it to this duration.
     */
    static MakeFromAsset(asset: Asset, contentStartTime?: number, contentDuration?: number, stretchDuration?: number): Promise<PAGSticker>;
    readonly type: string;
    private _imageReplacements;
    private _colorReplacements;
    private _textReplacements;
    private _fileDuration?;
    clone(): PAGSticker;
    protected createClip(): Promise<tav.Movie> | undefined;
    protected updateClip(pagSticker: tav.PAGSticker): Promise<void>;
    private replaceImages;
    private replaceTexts;
    private replaceColors;
    /**
     * Get or set a list of PAGImageReplacement to replace images in the PAG file
     */
    get imageReplacements(): PAGImageReplacement[];
    set imageReplacements(imgRs: PAGImageReplacement[]);
    /**
     * Get or set a list of PAGTextReplacement to replace texts in the PAG file
     */
    get textReplacements(): PAGTextReplacement[];
    set textReplacements(txtRs: PAGTextReplacement[]);
    /**
     * Get or set a list of PAGColorReplacement to replace layer background colors in the PAG file
     */
    get colorReplacements(): PAGColorReplacement[];
    set colorReplacements(txtRs: PAGColorReplacement[]);
    /**
     * The count of replaceable images.
     */
    get numImages(): number;
    /**
     * The count of replaceable texts.
     */
    get numTexts(): number;
    /**
     * Get the text data of the specified layer index.
     * @param editableIndex The index of the text layer.
     */
    getTextAttribute(editableIndex: number): tav.TAVTextAttribute;
    private getFileDuration;
}
