import type { UserClaims } from '@redocly/theme/core/openapi';
import type { CodeSampleConfig } from '../../services/index.js';
import type { RedocConfig, LayoutVariant } from '@redocly/config';
import type { OpenAPIDefinition } from '../../types/index.js';
import type { RoutingProps, StoreProps } from '../../hoc/types.js';
import type { OperationStore } from '../../jotai/operation';
export interface RedoclyOpenAPIDocsProps extends RoutingProps, StoreProps {
    onLoaded?: () => void;
    store?: StoreProviderProps;
    licenseKey?: string;
    withCommonStyles?: boolean;
}
export interface StoreProviderProps {
    options?: RedocConfig;
    definition: OpenAPIDefinition;
    definitionUrl?: string;
    withState?: {
        environment?: string;
        activeMimeName?: string;
        environments?: Record<string, Record<string, string>>;
        allowedEnvironments?: string[] | null;
        layout?: LayoutVariant;
        userClaims?: UserClaims;
        operation?: {
            pointer: string;
            state: Partial<OperationStore>;
        };
    };
}
export interface AppProviderProps {
    definitionUrl?: string;
    disableTelemetry?: boolean;
    definition?: GenericObject;
    options?: RedocConfig;
    activeItemId?: string;
    activeSampleLanguage?: CodeSampleConfig['lang'] | string;
    activeDeepLink?: string;
    portalOptions?: {
        defaultMimeType?: string;
    };
}
export interface RedoclyOpenAPIDocsStandaloneProps {
    definition?: GenericObject;
    definitionUrl?: string;
    disableTelemetry?: boolean;
    options?: RedocConfig;
    activeItemId?: string;
    activeSampleLanguage?: CodeSampleConfig['lang'];
    activeDeepLink?: string;
    router?: 'hash' | 'history';
    typeOfUsage?: 'html' | 'cli' | 'react' | 'docker';
}
