import type { EventSubscription } from 'expo-modules-core'; import type { SharedStateChangeEvent } from './ExpoBrownfieldStateModule.types'; /** * Gets the value of shared state for a given key. * * @param key The key to get the value for. */ export declare function getSharedStateValue(key: string): T | undefined; /** * Sets the value of shared state for a given key. * * @param key The key to set the value for. * @param value The value to be set. */ export declare function setSharedStateValue(key: string, value: T): void; /** * Deletes the shared state for a given key. * * @param key The key to delete the shared state for. */ export declare function deleteSharedState(key: string): void; /** * Adds a listener for changes to the shared state for a given key. * * @param key The key to add the listener for. * @param callback The callback to be called when the shared state changes. * @returns A subscription object that can be used to remove the listener. */ export declare function addSharedStateListener(key: string, callback: (event: SharedStateChangeEvent | undefined) => void): EventSubscription; /** * Hook to observe and set the value of shared state for a given key. * Provides a synchronous API similar to `useState`. * * @param key The key to get the value for. * @param initialValue The initial value to be used if the shared state is not set. * @returns A tuple containing the value and a function to set the value. */ export declare function useSharedState(key: string, initialValue?: T): [T | undefined, (value: T | ((prev: T | undefined) => T)) => void]; //# sourceMappingURL=ExpoBrownfieldStateModule.d.ts.map