import { DefaultError, MutationKey, MutationMeta, MutationScope, MutationState, QueryKey, QueryMeta, QueryObserverOptions, QueryState } from '@tanstack/react-query';
export interface SimpleDehydratedState {
    mutations: unknown[];
    queries: unknown[];
}
export interface SyncMessage {
    type: 'dehydrated-state';
    state: DehydratedState;
    isOnlineManagerOnline: boolean;
    persistentDeviceId: string;
}
export interface DehydratedState {
    mutations: DehydratedMutation[];
    queries: DehydratedQuery[];
}
export interface DehydratedMutation {
    mutationId: number;
    mutationKey?: MutationKey;
    state: MutationState;
    meta?: MutationMeta;
    scope?: MutationScope;
    gcTime?: number;
}
export interface DehydratedQuery {
    queryHash: string;
    queryKey: QueryKey;
    state: QueryState;
    promise?: Promise<unknown>;
    meta?: QueryMeta;
    observers: ObserverState[];
    gcTime?: number;
}
export interface ObserverState<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> {
    queryHash: string;
    options: QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>;
}
export interface User {
    id: string;
    deviceName: string;
    deviceId: string;
    platform?: string;
    isConnected?: boolean;
    extraDeviceInfo?: string;
    envVariables?: Record<string, string>;
}
