import { default as React, ReactNode } from 'react';
import { ApiClientConfig } from '../../redux';
import { Color } from '../../theme';
import { ApiConfig } from '../../utils/api-config';

interface ERPUIContextValue {
    useRedux: boolean;
    apiClient?: ApiClientConfig;
    theme?: any;
    themeMode: 'light' | 'dark';
    direction: 'ltr' | 'rtl';
    primaryColor?: Color;
}
export declare const useERPUI: () => ERPUIContextValue;
interface ERPUIProviderProps {
    children: ReactNode;
    useRedux?: boolean;
    reduxStore?: any;
    apiClient?: ApiClientConfig;
    additionalReducers?: Record<string, any>;
    theme?: any;
    themeMode?: 'light' | 'dark';
    primaryColor?: Color;
    direction?: 'ltr' | 'rtl';
    enableAuth?: boolean;
    enableLanguage?: boolean;
    enablePages?: boolean;
    enablePermissions?: boolean;
    enableRouter?: boolean;
    enableSnackbar?: boolean;
    enableCssBaseline?: boolean;
    snackbarConfig?: {
        maxSnack?: number;
        anchorOrigin?: {
            vertical: 'top' | 'bottom';
            horizontal: 'left' | 'center' | 'right';
        };
        autoHideDuration?: number;
    };
    apiConfig?: ApiConfig;
    additionalApiConfigurations?: Record<string, any>;
    moduleRoutes?: Record<string, string[]>;
    routeToColumnsMap?: Record<string, any>;
    routeToResourceMap?: Record<string, any>;
    publicRoutes?: string[];
}
export declare const ERPUIProvider: React.FC<ERPUIProviderProps>;
export default ERPUIProvider;
