import { Key, SWRConfiguration, SWRResponse } from 'swr';

type StateFetcher<T> = () => T | Promise<T>;
declare const mutateState: <T>(key: Key, data?: T, shouldRevalidate?: boolean) => Promise<T | undefined>;
declare function createSWRState<T>(key: Key, fetcher: StateFetcher<T> | null, config?: SWRConfiguration<T>): SWRResponse<T, any>;

export { createSWRState, mutateState };
