import * as FirebaseHttps from 'firebase-functions/https'; /** * The different operations you can subscribe to. */ export declare enum Operation { Create = "CREATE", Update = "UPDATE" } /** * The different operations you can subscribe to. * @deprecated Use `Operation` instead. */ export declare enum FunctionTypes { CREATE = "CREATE", UPDATE = "UPDATE" } export interface SupabaseFunctionInfo { table: string; type: Operation; sqlCondition?: string; } export type FirebaseFunctionWithSupabase = FirebaseHttps.HttpsFunction & { _supabase: SupabaseFunctionInfo; }; type TableRecord = T; declare enum PayloadType { Insert = "INSERT", Update = "UPDATE", Delete = "DELETE" } export interface BasePayload { type: PayloadType; table: string; schema: string; } export interface InsertPayload extends BasePayload { type: PayloadType.Insert; record: TableRecord; old_record: null; } export interface UpdatePayload extends BasePayload { type: PayloadType.Update; record: TableRecord; old_record: TableRecord; } export interface DeletePayload extends BasePayload { type: PayloadType.Delete; record: null; old_record: TableRecord; } export type Payload = InsertPayload | UpdatePayload | DeletePayload; export {};