import { TemplateResult } from 'lit';
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 '../../md/radio/ui-radio.js';
import '../../md/divider/ui-divider.js';
import { IApiEndPoint, IApiParameter, IApiPayload, IApiRequest, IApiServer } from '@api-client/core/amf/definitions/Api.js';
/**
 * A web component that renders the documentation page for an API request object.
 */
export default class ApiRequestDocument extends ApiDocumentationBase {
    protected requestValue?: IApiRequest;
    protected payloadsValue?: 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(): IApiParameter[];
    /**
     * @returns true when has query string definition
     */
    get hasQueryString(): boolean;
    get payloadValue(): IApiPayload | undefined;
    get request(): IApiRequest | undefined;
    set request(value: IApiRequest | undefined);
    /**
     * When set it opens the parameters section
     * @attribute
     */
    accessor parametersOpened: boolean | undefined;
    /**
     * When set it opens the headers section
     * @attribute
     */
    accessor headersOpened: boolean | undefined;
    /**
     * When set it opens the cookies section
     * @attribute
     */
    accessor cookiesOpened: boolean | undefined;
    /**
     * When set it opens the payload section
     * @attribute
     */
    accessor payloadOpened: boolean | undefined;
    /**
     * The currently selected media type for the payloads.
     * @attribute
     */
    accessor mimeType: string | undefined;
    /**
     * The current server in use.
     * It adds path parameters defined for the server.
     */
    accessor server: IApiServer | undefined;
    /**
     * The parent endpoint of this request.
     * It adds path parameters defined for the endpoint.
     */
    accessor endpoint: IApiEndPoint | undefined;
    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