import type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods';
import { type AvailableClients } from '@scalar/snippetz';
import type { OperationObject } from '@scalar/workspace-store/schemas/v3.1/strict/path-operations';
import type { SecuritySchemeObject } from '@scalar/workspace-store/schemas/v3.1/strict/security-scheme';
import type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/server';
import { type Dereference } from '@scalar/workspace-store/schemas/v3.1/type-guard';
import { type ComponentPublicInstance } from 'vue';
type Props = {
    /**
     * List of all allowed clients, this will determine which clients are available in the dropdown
     *
     * For the complete list:
     * @see https://github.com/scalar/scalar/blob/main/packages/types/src/snippetz/snippetz.ts#L8
     *
     * @defaults to all available clients + any included custom code examples
     */
    allowedClients?: AvailableClients[number][];
    /**
     * Pre-selected client, this will determine which client is initially selected in the dropdown
     *
     * @defaults to js/fetch or a custom sample if one is available
     */
    selectedClient?: AvailableClients[number];
    /**
     * Which server from the spec to use for the code example
     */
    selectedServer?: ServerObject;
    /**
     * The selected content type from the requestBody.content, this will determine which examples are available
     * as well as the content type of the code example
     *
     * @defaults to the first content type
     */
    selectedContentType?: string;
    /**
     * In case you wish to pre-select an example from the requestBody.content.examples
     */
    selectedExample?: string;
    /**
     * The security schemes which are applicable to this operation
     */
    securitySchemes?: SecuritySchemeObject[];
    /**
     * HTTP method of the operation
     */
    method: HttpMethodType;
    /**
     * Path of the operation
     */
    path: string;
    /**
     * De-referenced OpenAPI Operation object
     */
    operation: Dereference<OperationObject>;
    /**
     * If true and there's no example, we will display a small card with the method and path only
     */
    fallback?: boolean;
    /**
     * A method to generate the label of the block, should return an html string
     */
    generateLabel?: () => string;
    /**
     * Config options for the block
     */
    config?: {
        hideClientSelector?: boolean;
    };
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<{
        header: () => unknown;
        footer: () => unknown;
    }> & {
        header: () => unknown;
        footer: () => unknown;
    };
    refs: {
        elem: ({
            $: import("vue").ComponentInternalInstance;
            $data: {};
            $props: Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>;
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            };
            $slots: Readonly<{
                [name: string]: import("vue").Slot<any> | undefined;
            }>;
            $root: ComponentPublicInstance | null;
            $parent: ComponentPublicInstance | null;
            $host: Element | null;
            $emit: (event: string, ...args: any[]) => void;
            $el: HTMLDivElement;
            $options: import("vue").ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
                beforeCreate?: (() => void) | (() => void)[];
                created?: (() => void) | (() => void)[];
                beforeMount?: (() => void) | (() => void)[];
                mounted?: (() => void) | (() => void)[];
                beforeUpdate?: (() => void) | (() => void)[];
                updated?: (() => void) | (() => void)[];
                activated?: (() => void) | (() => void)[];
                deactivated?: (() => void) | (() => void)[];
                beforeDestroy?: (() => void) | (() => void)[];
                beforeUnmount?: (() => void) | (() => void)[];
                destroyed?: (() => void) | (() => void)[];
                unmounted?: (() => void) | (() => void)[];
                renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
                renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
                errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
            };
            $forceUpdate: () => void;
            $nextTick: typeof import("vue").nextTick;
            $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
        } & Readonly<{}> & Omit<Readonly<{}> & Readonly<{}>, never> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
            $slots: {
                default?(_: {}): any;
            };
        }) | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:selectedClient": (id: "c/libcurl" | "clojure/clj_http" | "csharp/httpclient" | "csharp/restsharp" | "go/native" | "http/http1.1" | "java/asynchttp" | "java/nethttp" | "java/okhttp" | "java/unirest" | "js/axios" | "js/fetch" | "js/jquery" | "js/ofetch" | "js/xhr" | "kotlin/okhttp" | "node/axios" | "node/fetch" | "node/ofetch" | "node/undici" | "objc/nsurlsession" | "ocaml/cohttp" | "php/curl" | "php/guzzle" | "powershell/restmethod" | "powershell/webrequest" | "python/python3" | "python/requests" | "python/httpx_sync" | "python/httpx_async" | "r/httr" | "ruby/native" | "shell/curl" | "shell/httpie" | "shell/wget" | "swift/nsurlsession" | "dart/http") => any;
    "update:selectedExample": (name: string) => any;
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
    "onUpdate:selectedClient"?: ((id: "c/libcurl" | "clojure/clj_http" | "csharp/httpclient" | "csharp/restsharp" | "go/native" | "http/http1.1" | "java/asynchttp" | "java/nethttp" | "java/okhttp" | "java/unirest" | "js/axios" | "js/fetch" | "js/jquery" | "js/ofetch" | "js/xhr" | "kotlin/okhttp" | "node/axios" | "node/fetch" | "node/ofetch" | "node/undici" | "objc/nsurlsession" | "ocaml/cohttp" | "php/curl" | "php/guzzle" | "powershell/restmethod" | "powershell/webrequest" | "python/python3" | "python/requests" | "python/httpx_sync" | "python/httpx_async" | "r/httr" | "ruby/native" | "shell/curl" | "shell/httpie" | "shell/wget" | "swift/nsurlsession" | "dart/http") => any) | undefined;
    "onUpdate:selectedExample"?: ((name: string) => any) | undefined;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=RequestExample.vue.d.ts.map