import type { PushResult } from '@stacksjs/types'; /** * Configure FCM with server key or service account */ export declare function configure(options: FCMConfig): void; /** * Send push notification via FCM Legacy API (using server key) */ export declare function sendLegacy(message: FCMMessage): Promise; /** * Send push notification via FCM v1 API (using service account) */ export declare function send(message: FCMMessage): Promise; /** * Send to multiple tokens */ export declare function sendMulticast(tokens: string[], message: Omit): Promise; /** * Send to a topic */ export declare function sendToTopic(topic: string, message: Omit): Promise; /** * Subscribe tokens to a topic */ export declare function subscribeToTopic(tokens: string[], topic: string): Promise; /** * Unsubscribe tokens from a topic */ export declare function unsubscribeFromTopic(tokens: string[], topic: string): Promise; declare const __dtsx_default_export__: { send: typeof send; sendLegacy: typeof sendLegacy; sendMulticast: typeof sendMulticast; sendToTopic: typeof sendToTopic; subscribeToTopic: typeof subscribeToTopic; unsubscribeFromTopic: typeof unsubscribeFromTopic; configure: typeof configure }; export declare interface FCMMessage { to?: string registrationIds?: string[] topic?: string condition?: string notification?: { title: string body: string icon?: string image?: string sound?: string badge?: string clickAction?: string tag?: string } data?: Record priority?: 'high' | 'normal' ttl?: number collapseKey?: string } export declare interface FCMConfig { serverKey?: string projectId?: string serviceAccount?: { clientEmail: string privateKey: string } } export declare interface FCMResponse { multicastId?: number success: number failure: number results?: Array<{ messageId?: string error?: string }> } export { send as Send }; export default __dtsx_default_export__;