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 { ClientOptionGroup } from '../../../../v2/blocks/scalar-request-example-block/types';
export type RequestExampleProps = {
    /**
     * List of all http clients formatted into option groups for the client selector
     */
    clientOptions: ClientOptionGroup[];
    /**
     * Pre-selected client, this will determine which client is initially selected in the dropdown
     *
     * @defaults to shell/curl or a custom sample if one is available
     */
    selectedClient?: AvailableClients[number];
    /**
     * Which server from the spec to use for the code example
     */
    selectedServer?: ServerObject | undefined;
    /**
     * 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: 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;
};
/**
 * Request Example
 *
 * The core component for rendering a request example block,
 * this component does not have much of its own state but operates on props and custom events
 *
 * @event scalar-update-selected-client - Emitted when the selected client changes
 * @event scalar-update-selected-example - Emitted when the selected example changes
 */
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<RequestExampleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<RequestExampleProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, Readonly<{
    header: () => unknown;
    footer: () => unknown;
}> & {
    header: () => unknown;
    footer: () => unknown;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=RequestExample.vue.d.ts.map