import { TemplateResult } from 'lit';
import { ApiDefinitions } from '@api-client/core/build/browser.js';
import { ApiDocumentationBase } from './ApiDocumentationBase.js';
import '../../define/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?: ApiDefinitions.IApiSummary;
    get summary(): ApiDefinitions.IApiSummary | undefined;
    protected serversValue?: ApiDefinitions.IApiServer[];
    get servers(): ApiDefinitions.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
     */
    baseUri?: string;
    /**
     * 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
     */
    titleLevel?: number;
    /**
     * A property to hide the table of contents list of endpoints.
     * @attribute
     */
    hideToc?: boolean;
    protocols?: string[];
    protected endpointsValue?: ApiDefinitions.IApiEndPointWithOperationsListItem[];
    get endpoints(): ApiDefinitions.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?: ApiDefinitions.IApiServer): TemplateResult;
    /**
     * @param server Server definition
     * @returns Template for a server list items when there is more than one server.
     */
    protected serverTemplate(server: ApiDefinitions.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: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult;
    protected endpointPathTemplate(item: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult;
    protected endpointNameTemplate(item: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult | string;
    protected methodTemplate(item: ApiDefinitions.IApiOperationListItem, endpoint: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult;
}
//# sourceMappingURL=ApiSummary.element.d.ts.map