type ParsedSpec = import('redoc/typings/types').OpenAPISpec;
/**
 * The "SpecProps" are generated by docusaurus-plugin-redoc at build time
 * And they are passed automatically for the auto-generated pages
 */
interface SpecProps {
    /**
     * Spec to use, already loaded previously
     */
    spec: ParsedSpec;
    /**
     * Public path to the spec file used, used by Redoc as download url
     */
    url?: string;
    /**
     * @deprecated TODO: If not spec file then pass null at build time rather than passing flags to components
     */
    isSpecFile?: boolean;
    /**
     * Theme instance to use
     */
    themeId?: string;
    /**
     * Option to disable normalization of spec download URLs
     * @deprecated TODO: Do the normalization at build time rather than in components
     */
    normalizeUrl?: boolean;
}
interface RedocProps extends SpecProps {
    className?: string;
    /**
     * Props to forward to the Redoc component
     */
    optionsOverrides?: import('redoc').RedocRawOptions;
}
interface MdxProps {
    /**
     * If you have multiple apis, then add a `id` field in the specs array
     * And pass the same here
     */
    id?: string;
    /**
     * Manually parsed JSON spec to use
     */
    spec?: ParsedSpec;
}
type ApiSchemaProps = Omit<import('redoc').ObjectDescriptionProps, 'parser' | 'options' | 'schemaRef'> & MdxProps & {
    /**
     * Show the example or not
     */
    example?: boolean;
    /**
     * Ref to the schema
     */
    pointer: string;
};
type ApiOperationProps = MdxProps & {
    /**
     * Show the example or not
     */
    example?: boolean;
    /**
     * Ref to the operation
     */
    pointer: string;
};
declare module '@theme/Redoc' {
    const Redoc: (props: RedocProps) => JSX.Element;
    export default Redoc;
}
declare module '@theme/ApiDoc' {
    import { Props as LayoutProps } from '@theme/Layout';
    interface ApiDocProps {
        /**
         * Get this by using `@theme/useSpecData` hook
         */
        specProps: SpecProps;
        /**
         * Title/Description for layout is by default loaded from the API spec
         */
        layoutProps?: Omit<LayoutProps, 'children'>;
    }
    const ApiDoc: (props: ApiDocProps) => JSX.Element;
    export default ApiDoc;
}
declare module '@theme/ApiDocMdx' {
    const ApiDocMdx: (props: MdxProps) => JSX.Element;
    export default ApiDocMdx;
}
declare module '@theme/ApiSchema' {
    const ApiSchema: (props: ApiSchemaProps) => JSX.Element;
    export default ApiSchema;
}
declare module '@theme/ApiOperation' {
    const ApiOperation: (props: ApiOperationProps) => JSX.Element;
    export default ApiOperation;
}
declare module '@theme/useSpecData' {
    /**
     * Load redocusaurus plugin data by ID
     */
    const useSpecData: (id?: string, spec?: SpecProps['spec']) => SpecProps;
    export default useSpecData;
}
//# sourceMappingURL=modules.d.ts.map