import { AbstractPostPageMediaRequest, MediaType } from './AbstractPostPageMediaRequest';
/**
 * An abstract request that creates a new Media container for media that goes to the timeline.
 *
 * @author Tiago Grosso <tiagogrosso99@gmail.com>
 * @since 3.0.0
 */
export declare abstract class AbstractPostPageTimelineMediaRequest extends AbstractPostPageMediaRequest {
    /**
     * The constructor
     *
     * @param accessToken the access token.
     * @param pageId the page id.
     * @param caption the caption.
     * @param locationId the location id.
     */
    protected constructor(accessToken: string, pageId: string, caption?: string, locationId?: string);
    /**
     * Sets the caption in the request.
     *
     * @param caption the caption.
     *
     * @returns this object, for chained invocation.
     */
    withCaption(caption: string): this;
    /**
     * Sets the location id in the request.
     *
     * @param locationId the location id.
     *
     * @returns this object, for chained invocation.
     */
    withLocationId(locationId: string): this;
    /**
     * Gets the media type of the object to create.
     *
     * @returns the media type.
     */
    protected abstract mediaType(): MediaType | undefined;
}
