import { ReactNode } from 'react';
import { OperationModel } from '../services/models';
import { ResolvedThemeInterface, ThemeInterface } from '../theme';
import { LabelsConfigRaw } from './Labels';
import { MDXComponentMeta } from './MarkdownRenderer';
export interface RedocRawOptions {
    theme?: ThemeInterface;
    scrollYOffset?: number | string | (() => number);
    hideHostname?: boolean | string;
    expandResponses?: string | 'all';
    requiredPropsFirst?: boolean | string;
    sortPropsAlphabetically?: boolean | string;
    sortEnumValuesAlphabetically?: boolean | string;
    noAutoAuth?: boolean | string;
    nativeScrollbars?: boolean | string;
    pathInMiddlePanel?: boolean | string;
    untrustedSpec?: boolean | string;
    hideLoading?: boolean | string;
    hideDownloadButton?: boolean | string;
    disableSearch?: boolean | string;
    onlyRequiredInSamples?: boolean | string;
    showExtensions?: boolean | string | string[];
    hideSingleRequestSampleTab?: boolean | string;
    menuToggle?: boolean | string;
    jsonSampleExpandLevel?: number | string | 'all';
    hideSchemaTitles?: boolean | string;
    simpleOneOfTypeLabel?: boolean | string;
    payloadSampleIdx?: number;
    expandSingleSchemaField?: boolean | string;
    unstable_ignoreMimeParameters?: boolean;
    allowedMdComponents?: Record<string, MDXComponentMeta>;
    labels?: LabelsConfigRaw;
    enumSkipQuotes?: boolean | string;
    expandDefaultServerVariables?: boolean;
    maxDisplayedEnumValues?: number;
    ignoreNamedSchemas?: string[] | string;
    hideSchemaPattern?: boolean;
    spinner?: string;
    renderTryApiComponent?: (operation: OperationModel) => ReactNode;
}
export declare class RedocNormalizedOptions {
    static normalizeExpandResponses(value: RedocRawOptions['expandResponses']): {};
    static normalizeHideHostname(value: RedocRawOptions['hideHostname']): boolean;
    static normalizeScrollYOffset(value: RedocRawOptions['scrollYOffset']): () => number;
    static normalizeShowExtensions(value: RedocRawOptions['showExtensions']): string[] | boolean;
    static normalizePayloadSampleIdx(value: RedocRawOptions['payloadSampleIdx']): number;
    private static normalizeJsonSampleExpandLevel;
    theme: ResolvedThemeInterface;
    scrollYOffset: () => number;
    hideHostname: boolean;
    expandResponses: {
        [code: string]: boolean;
    } | 'all';
    requiredPropsFirst: boolean;
    sortPropsAlphabetically: boolean;
    sortEnumValuesAlphabetically: boolean;
    noAutoAuth: boolean;
    nativeScrollbars: boolean;
    pathInMiddlePanel: boolean;
    untrustedSpec: boolean;
    hideDownloadButton: boolean;
    disableSearch: boolean;
    onlyRequiredInSamples: boolean;
    showExtensions: boolean | string[];
    hideSingleRequestSampleTab: boolean;
    menuToggle: boolean;
    jsonSampleExpandLevel: number;
    enumSkipQuotes: boolean;
    hideSchemaTitles: boolean;
    simpleOneOfTypeLabel: boolean;
    payloadSampleIdx: number;
    expandSingleSchemaField: boolean;
    unstable_ignoreMimeParameters: boolean;
    allowedMdComponents: Record<string, MDXComponentMeta>;
    expandDefaultServerVariables: boolean;
    maxDisplayedEnumValues?: number;
    ignoreNamedSchemas: Set<string>;
    hideSchemaPattern: boolean;
    spinner?: string;
    renderTryApiComponent?: (operation: OperationModel) => ReactNode;
    constructor(raw: RedocRawOptions, defaults?: RedocRawOptions);
}
