import type { UserKeyValue } from "../../metabase-types/api";
export interface UseUserKeyValueParams<T extends UserKeyValue> {
    namespace: T["namespace"];
    key: T["key"];
    defaultValue?: T["value"];
}
export type UseUserKeyValueResult<T extends UserKeyValue> = {
    value: T["value"];
    setValue: (value: T["value"]) => Promise<{
        data?: unknown;
        error?: unknown;
    }>;
    isLoading: boolean;
    isMutating: boolean;
    error: unknown;
    clearValue: () => Promise<{
        data?: unknown;
        error?: unknown;
    }>;
};
export declare function useUserKeyValue<T extends UserKeyValue>({ namespace, key, defaultValue, }: UseUserKeyValueParams<T>): UseUserKeyValueResult<T>;
