import type { StateSlice, TopLevelDataSchema } from './types';
export declare function useGlobalData<TLDS extends TopLevelDataSchema>(): TLDS;
interface UseGlobalDataSlice<TLDS extends TopLevelDataSchema, SliceName extends keyof TLDS, SliceData extends TLDS[SliceName]> {
    sliceData: SliceData | undefined;
    updateStateSlice: (updatedSlice: StateSlice<TLDS, SliceName, SliceData>) => void;
    clearStateSlice: () => void;
}
export declare function useGlobalDataSlice<TLDS extends TopLevelDataSchema, SliceName extends keyof TLDS, SliceData extends TLDS[SliceName] = NonNullable<TLDS[SliceName]>>(sliceId: SliceName): UseGlobalDataSlice<TLDS, SliceName, SliceData>;
export declare function useResetGlobalData<TLDS extends TopLevelDataSchema>(): () => void;
export {};
