import { LitElement, TemplateResult, PropertyValues } from 'lit';
import type { IHttpRequest } from '@api-client/core/models/HttpRequest.js';
import CodeSnippet from '../../code-snippets/CodeSnippet.js';
import '../../md/dropdown-list/ui-dropdown-list.js';
import '../../md/list/ui-list.js';
import '../../md/list/ui-list-item.js';
import '../../md/button/ui-button.js';
import '../../md/icons/ui-icon.js';
interface CodeGroup {
    label: string;
    parent?: string;
    snippet?: CodeSnippet;
    id: string;
}
/**
 * An element that renders various code snippets from a basic definition of an HTTP request.
 */
export default class HttpSnippets extends LitElement {
    /**
     * The currently selected snippet.
     * @attribute
     */
    accessor selected: string;
    protected parentLanguage: string;
    accessor request: IHttpRequest | undefined;
    protected accessor code: string | undefined;
    /**
     * The list of tab names to render in the view.
     */
    protected get groupTabs(): CodeGroup[];
    protected update(cp: PropertyValues<this>): void;
    protected triggerCommand(): void;
    protected handleGroupSelect(e: CustomEvent): void;
    protected handleSubGroup(e: CustomEvent): void;
    protected render(): TemplateResult;
    protected renderSelectionOptions(): TemplateResult;
    protected renderLanguageOptions(): TemplateResult;
    protected renderFrameworkOptions(): TemplateResult | string;
    protected renderCode(): TemplateResult | string;
}
export {};
//# sourceMappingURL=HttpSnippets.d.ts.map