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
TypeScript
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';