import { PAGLayer } from './pag-layer';
import type { Marker } from './types';
export declare class PAGComposition extends PAGLayer {
    /**
     * Make a empty PAGComposition with specified size.
     */
    static make(width: number, height: number): PAGComposition;
    /**
     * Returns the width of the Composition.
     */
    width(): number;
    /**
     * Returns the height of the Composition.
     */
    height(): number;
    /**
     * Set the width and height of the Composition.
     */
    setContentSize(width: number, height: number): void;
    /**
     * Returns the number of child layers of this composition.
     */
    numChildren(): number;
    /**
     * Returns the child layer that exists at the specified index.
     * @param index The index position of the child layer.
     * @returns The child layer at the specified index position.
     */
    getLayerAt(index: number): import("./pag-image-layer").PAGImageLayer | PAGLayer | import("./pag-solid-layer").PAGSolidLayer | import("./pag-text-layer").PAGTextLayer;
    /**
     * Returns the index position of a child layer.
     * @param pagLayer The layer instance to identify.
     * @returns The index position of the child layer to identify.
     */
    getLayerIndex(pagLayer: PAGLayer): number;
    /**
     * Changes the position of an existing child layer in the composition. This affects the layering
     * of child layers.
     * @param pagLayer The child layer for which you want to change the index number.
     * @param index The resulting index number for the child layer.
     */
    setLayerIndex(pagLayer: PAGLayer, index: number): number;
    /**
     * Add a PAGLayer to current PAGComposition at the top. If you add a layer that already has a
     * different PAGComposition object as a parent, the layer is removed from the other PAGComposition
     * object.
     */
    addLayer(pagLayer: PAGLayer): boolean;
    /**
     * Add a PAGLayer to current PAGComposition at the top. If you add a layer that already has a
     * different PAGComposition object as a parent, the layer is removed from the other PAGComposition
     * object.
     */
    addLayerAt(pagLayer: PAGLayer, index: number): boolean;
    /**
     * Check whether current PAGComposition contains the specified pagLayer.
     */
    contains(pagLayer: PAGLayer): boolean;
    /**
     * Remove the specified PAGLayer from current PAGComposition.
     */
    removeLayer(pagLayer: PAGLayer): import("./pag-image-layer").PAGImageLayer | PAGLayer | import("./pag-solid-layer").PAGSolidLayer | import("./pag-text-layer").PAGTextLayer;
    /**
     * Remove the specified PAGLayer from current PAGComposition.
     */
    removeLayerAt(index: number): import("./pag-image-layer").PAGImageLayer | PAGLayer | import("./pag-solid-layer").PAGSolidLayer | import("./pag-text-layer").PAGTextLayer;
    /**
     * Remove all PAGLayers from current PAGComposition.
     */
    removeAllLayers(): void;
    /**
     * Swap the layers at the specified index.
     */
    swapLayer(pagLayer1: PAGLayer, pagLayer2: PAGLayer): void;
    /**
     * Swap the layers at the specified index.
     */
    swapLayerAt(index1: number, index2: number): void;
    /**
     * The audio data of this composition, which is an AAC audio in an MPEG-4 container.
     */
    audioBytes(): Uint8Array | null;
    /**
     * Returns the audio markers of this composition.
     */
    audioMarkers(): import("./types").Vector<Marker>;
    /**
     * Indicates when the first frame of the audio plays in the composition's timeline.
     */
    audioStartTime(): number;
    /**
     * Returns an array of layers that match the specified layer name.
     */
    getLayersByName(layerName: string): import("./types").Vector<import("./pag-image-layer").PAGImageLayer | PAGLayer | import("./pag-solid-layer").PAGSolidLayer | import("./pag-text-layer").PAGTextLayer>;
    /**
     * Returns an array of layers that lie under the specified point. The point is in pixels and from
     * this PAGComposition's local coordinates.
     */
    getLayersUnderPoint(localX: number, localY: number): import("./types").Vector<import("./pag-image-layer").PAGImageLayer | PAGLayer | import("./pag-solid-layer").PAGSolidLayer | import("./pag-text-layer").PAGTextLayer>;
}
