@subscribe.dev/react
Version:
React hooks and components for SubscribeDev - provides context and hooks for managing AI predictions with billing and rate limiting
104 lines (83 loc) • 3.17 kB
TypeScript
import { default as default_2 } from 'react';
import { JSX as JSX_2 } from 'react/jsx-runtime';
import { QueryClient } from '@tanstack/react-query';
import { SubscribeDevClient } from '@subscribe.dev/client';
export declare function SignIn(props: SignInProps): JSX_2.Element;
export declare function SignInButton(props: SignInButtonProps): JSX_2.Element;
export declare interface SignInButtonProps {
[key: string]: any;
}
export declare interface SignInProps {
[key: string]: any;
}
declare interface SubscribeDevContextValue {
client: SubscribeDevClient | null;
token: string | null;
isSignedIn: boolean;
queryClient: QueryClient;
subscriptionModalUrl: string | null;
setSubscriptionModalUrl: (url: string | null) => void;
projectToken: string;
}
export declare function SubscribeDevProvider({ children, projectToken, clerkPublishableKey, baseUrl }: SubscribeDevProviderProps): JSX_2.Element;
declare interface SubscribeDevProviderProps {
children: default_2.ReactNode;
projectToken: string;
clerkPublishableKey: string;
baseUrl?: string;
}
export declare function syncSession(): () => Promise<void>;
declare type SyncStatus = 'local' | 'syncing' | 'synced' | 'error';
export declare function useClerkAuth(): {
token: string | null;
isSignedIn: boolean | undefined;
};
export declare function UserButton(props: UserButtonProps): JSX_2.Element;
export declare interface UserButtonProps {
[key: string]: any;
}
export declare function useStorage(): {
get: (key: string) => Promise<string | null>;
set: (key: string, value: string) => Promise<void>;
remove: (key: string) => Promise<void>;
};
export declare function useSubscribeDev(): {
client: SubscribeDevClient | null;
token: string | null;
isSignedIn: boolean;
subscribe: () => void;
isSubscribed: any;
subscriptionStatus: any;
subscriptionLoading: boolean;
refreshSubscriptionStatus: () => Promise<void>;
useStorage: typeof useSubscribeDevSessionStorage;
usage: {
allocatedCredits: number;
usedCredits: number;
remainingCredits: number;
loading: boolean;
error: string | null;
refreshUsage: () => Promise<void>;
};
};
export declare function useSubscribeDevAuth(): {
isSignedIn: boolean;
token: string | null;
isSubscribed: any;
subscribe: () => void;
subscriptionStatus: any;
subscriptionLoading: boolean;
refreshSubscriptionStatus: () => Promise<void>;
};
export declare function useSubscribeDevProvider(): SubscribeDevContextValue;
declare function useSubscribeDevSessionStorage<T>(key: string, initialValue: T): [T, (value: T) => void, SyncStatus];
export declare function useSubscribeDevStorage<T>(key: string, initialValue: T): [T, (value: T) => void, SyncStatus];
export declare function useUsage(): {
allocatedCredits: number;
usedCredits: number;
remainingCredits: number;
loading: boolean;
error: string | null;
refreshUsage: () => Promise<void>;
};
export { }