import { TemplateResult } from 'lit';
import { ApiDefinitions } from '@api-client/core/build/browser.js';
import { ApiDocumentationBase } from './ApiDocumentationBase.js';
import { OperationParameter } from '../../amf/types.js';
import '../../define/amf/api-payload-document.js';
import '../../define/amf/api-parameter-document.js';
import '../../define/ui/ui-radio.js';
import '../../define/ui/ui-divider.js';
/**
 * A web component that renders the documentation page for an API request object.
 */
export default class ApiRequestDocument extends ApiDocumentationBase {
    protected requestValue?: ApiDefinitions.IApiRequest;
    protected payloadsValue?: ApiDefinitions.IApiPayload[];
    /**
     * @returns true when has cookie parameters definition
     */
    get hasCookieParameters(): boolean;
    /**
     * @returns true when has headers parameters definition
     */
    get hasHeaders(): boolean;
    /**
     * @returns true when has query parameters definition
     */
    get hasQueryParameters(): boolean;
    /**
     * @returns The combined list of path parameters in the server, endpoint, and the request.
     */
    get uriParameters(): ApiDefinitions.IApiParameter[];
    /**
     * @returns true when has query string definition
     */
    get hasQueryString(): boolean;
    get payloadValue(): ApiDefinitions.IApiPayload | undefined;
    get request(): ApiDefinitions.IApiRequest | undefined;
    set request(value: ApiDefinitions.IApiRequest | undefined);
    /**
     * When set it opens the parameters section
     * @attribute
     */
    parametersOpened?: boolean;
    /**
     * When set it opens the headers section
     * @attribute
     */
    headersOpened?: boolean;
    /**
     * When set it opens the cookies section
     * @attribute
     */
    cookiesOpened?: boolean;
    /**
     * When set it opens the payload section
     * @attribute
     */
    payloadOpened?: boolean;
    /**
     * The currently selected media type for the payloads.
     * @attribute
     */
    mimeType?: string;
    /**
     * The current server in use.
     * It adds path parameters defined for the server.
     */
    server?: ApiDefinitions.IApiServer;
    /**
     * The parent endpoint of this request.
     * It adds path parameters defined for the endpoint.
     */
    endpoint?: ApiDefinitions.IApiEndPoint;
    protected queryParametersValue?: OperationParameter[];
    processGraph(): Promise<void>;
    /**
     * Queries the store for the request data, when needed.
     */
    queryRequest(): Promise<void>;
    queryPayloads(): Promise<void>;
    /**
     * Creates a parameter
     */
    processQueryParameters(): Promise<void>;
    /**
     * Pre-selects when needed the mime type for the current payload.
     */
    protected preselectMime(): void;
    protected mediaTypeSelectHandler(e: Event): void;
    /**
     * Dispatches the `mimechange` event.
     */
    protected notifyMime(): void;
    render(): TemplateResult;
    /**
     * @return The template for the query parameters
     */
    protected queryParamsTemplate(): TemplateResult | string;
    /**
     * @return The template for the headers
     */
    protected headersTemplate(): TemplateResult | string;
    /**
     * @return The template for the cookies list section
     */
    protected cookiesTemplate(): TemplateResult | string;
    /**
     * @return The template for the payload section
     */
    protected payloadTemplate(): TemplateResult | string;
    /**
     * @return The template for the payload media type selector.
     */
    protected payloadSelectorTemplate(): TemplateResult | string;
}
//# sourceMappingURL=ApiRequestDocument.element.d.ts.map