import { AbstractRequest } from '../../AbstractRequest';
import { CreatedObjectIdResponse } from '../../common/CreatedObjectIdResponse';
import { Method } from '../../RequestConfig';
/**
 * An abstract request that creates a new Media container.
 *
 * @author Tiago Grosso <tiagogrosso99@gmail.com>
 * @since 3.0.0
 */
export declare abstract class AbstractPostPageMediaRequest extends AbstractRequest<CreatedObjectIdResponse> {
    /**
     * The page id.
     */
    private readonly pageId;
    /**
     * The constructor
     *
     * @param accessToken the access token.
     * @param pageId the page id.
     */
    protected constructor(accessToken: string, pageId: string);
    /**
     * @inheritdoc
     */
    protected parseResponse(response: {
        id: string;
    }): CreatedObjectIdResponse;
    /**
     * @inheritdoc
     */
    protected url(): string;
    /**
     * @inheritdoc
     */
    protected method(): Method;
    /**
     * Gets the media type of the object to create.
     *
     * @returns the media type.
     */
    protected abstract mediaType(): MediaType | undefined;
}
/**
 * The media type.
 *
 * @author Tiago Grosso <tiagogrosso99@gmail.com>
 * @since 3.0.0
 */
export declare enum MediaType {
    IMAGE = "IMAGE",
    CAROUSEL = "CAROUSEL",
    REEL = "REELS",
    STORIES = "STORIES"
}
