import { PayloadAction } from '@reduxjs/toolkit';
import { default as React } from 'react';
export type ComponentInfo = {
    stateValues: Record<string, any>;
    sourceOfUpdate?: {
        local?: boolean;
        sourceInformation?: Record<string, unknown>;
    };
    ignoreUpdate: boolean;
    childrenInstructions: Record<string, any>[];
    prefixForIds: string;
};
/**
 * Type alias to make sure that the type of an action identifier is unique.
 */
export type UniqueActionIdentifier = string & {
    readonly __brand: unique symbol;
};
export declare function actionIdentifier(actionId: string, componentIdx: number): UniqueActionIdentifier;
export interface MainSlice {
    /**
     * A map of component names/ids to information that the component needs to render.
     * This information was previously using Recoil.
     */
    componentInfo: Record<string, ComponentInfo>;
}
export declare const mainSlice: import('@reduxjs/toolkit').Slice<MainSlice, {
    setComponentInfo: (state: import('immer').WritableDraft<MainSlice>, action: PayloadAction<{
        key: string;
        componentInfo: ComponentInfo;
    }>) => void;
}, "main", "main", {
    componentInfo: (state: MainSlice) => Record<string, ComponentInfo>;
}>;
export declare const mainThunks: {
    /**
     * Updates the state variables for a specific component.
     */
    updateRendererSVs: import('@reduxjs/toolkit').AsyncThunk<void, {
        coreId: string;
        componentIdx: number;
        stateValues: Record<string, any>;
        childrenInstructions?: Record<string, any>[];
        sourceOfUpdate?: Record<string, any>;
        baseStateVariable?: string;
        actionId?: string;
        updatesToIgnoreRef: React.RefObject<Map<UniqueActionIdentifier, string>>;
        prefixForIds: string;
    }, {
        state: import('..').RootState;
        dispatch?: import('redux-thunk').ThunkDispatch<unknown, unknown, import('redux').UnknownAction> | undefined;
        extra?: unknown;
        rejectValue?: unknown;
        serializedErrorType?: unknown;
        pendingMeta?: unknown;
        fulfilledMeta?: unknown;
        rejectedMeta?: unknown;
    }>;
};
//# sourceMappingURL=main.d.ts.map