UNPKG

livesheets-sdk

Version:

LiveSheets SDK for Google Sheets integration with Lovable apps. OAuth onboarding URL: https://livesheets-backend-624058308714.europe-north1.run.app/onboarding

63 lines (62 loc) 1.56 kB
import { LiveSheetsClient, SheetRow, SheetMetadata } from './index'; export interface UseLiveSheetsOptions { autoConnect?: boolean; autoLoadData?: boolean; onAuthSuccess?: () => void; onAuthError?: (error: Error) => void; onDataLoaded?: (data: SheetRow[]) => void; backendUrl?: string; } export interface UseLiveSheetsReturn { isAuthenticated: boolean; isConnecting: boolean; hasSheet: boolean; isSelectingSheet: boolean; sheetMetadata: SheetMetadata | null; data: SheetRow[]; isLoading: boolean; error: Error | null; connect: () => void; disconnect: () => void; selectSheet: () => Promise<void>; refresh: () => Promise<void>; client: LiveSheetsClient | null; } /** * React Hook for LiveSheets integration * * @example * ```tsx * import { useLiveSheets } from 'livesheets-sdk/react'; * * function MyComponent() { * const { * isAuthenticated, * data, * connect, * selectSheet * } = useLiveSheets(); * * if (!isAuthenticated) { * return <button onClick={connect}>Connect Google Sheets</button>; * } * * return <div>{data.length} rows loaded</div>; * } * ``` */ export declare function useLiveSheets(options?: UseLiveSheetsOptions): UseLiveSheetsReturn; /** * Simple hook for just reading sheet data * * @example * ```tsx * const { data, loading, error } = useSheetData(); * ``` */ export declare function useSheetData(jwt?: string): { data: SheetRow[]; loading: boolean; error: Error | null; }; export * from './index';