import { TemplateResult } from 'lit';
import { ApiDocumentationBase } from './ApiDocumentationBase.js';
import type { IApiEndPointWithOperationsListItem, IApiOperationListItem, IApiServer, IApiSummary } from '@api-client/core/amf/definitions/Api.js';
import '../../elements/highlight/marked-highlight.js';
/**
 * A web component that renders the documentation page for an API documentation (like in RAML documentations) built from
 * the AMF graph model.
 */
export default class ApiSummary extends ApiDocumentationBase {
    protected summaryValue?: IApiSummary;
    get summary(): IApiSummary | undefined;
    protected serversValue?: IApiServer[];
    get servers(): IApiServer[] | undefined;
    /**
     * A property to set to override AMF's model base URI information.
     * When this property is set, the `endpointUri` property is recalculated.
     * @attribute
     */
    accessor baseUri: string | undefined;
    /**
     * API title header level in value range from 1 to 6.
     * This is made for accessibility. It the component is used in a context
     * where headers order matters then this property is to be set to
     * arrange headers in the right order.
     *
     * @default 2
     * @attribute
     */
    accessor titleLevel: number | undefined;
    /**
     * A property to hide the table of contents list of endpoints.
     * @attribute
     */
    accessor hideToc: boolean | undefined;
    accessor protocols: string[] | undefined;
    protected endpointsValue: IApiEndPointWithOperationsListItem[] | undefined;
    get endpoints(): IApiEndPointWithOperationsListItem[] | undefined;
    protected isAsyncValue?: boolean;
    constructor();
    connectedCallback(): void;
    /**
     * Queries the graph store for the API data.
     */
    processGraph(): Promise<void>;
    /**
     * Queries the API store for the API summary object.
     */
    querySummary(): Promise<void>;
    /**
     * Queries the API store for the API summary object.
     */
    queryServers(): Promise<void>;
    /**
     * Logic executed after the summary is requested from the store.
     */
    processSummary(): Promise<void>;
    /**
     * Queries the API endpoints and methods.
     */
    queryEndpoints(): Promise<void>;
    protected navigateHandler(e: Event): void;
    render(): TemplateResult;
    protected titleTemplate(): TemplateResult | string;
    protected versionTemplate(): TemplateResult | string;
    /**
     * @returns A template for a server, servers, or no servers
     * whether it's defined in the main API definition or not.
     */
    protected serversTemplate(): TemplateResult | string;
    /**
     * @param server Server definition
     * @returns A template for a single server in the main API definition
     */
    protected baseUriTemplate(server?: IApiServer): TemplateResult;
    /**
     * @param server Server definition
     * @returns Template for a server list items when there is more than one server.
     */
    protected serverTemplate(server: IApiServer): TemplateResult;
    protected protocolsTemplate(): TemplateResult | string;
    protected contactInfoTemplate(): TemplateResult | string;
    protected licenseTemplate(): TemplateResult | string;
    protected termsOfServiceTemplate(): TemplateResult | string;
    protected endpointsTemplate(): TemplateResult | string;
    protected endpointTemplate(item: IApiEndPointWithOperationsListItem): TemplateResult;
    protected endpointPathTemplate(item: IApiEndPointWithOperationsListItem): TemplateResult;
    protected endpointNameTemplate(item: IApiEndPointWithOperationsListItem): TemplateResult | string;
    protected methodTemplate(item: IApiOperationListItem, endpoint: IApiEndPointWithOperationsListItem): TemplateResult;
}
//# sourceMappingURL=ApiSummary.element.d.ts.map