import type { FirebaseApp } from 'firebase/app'; import type { CustomParameters, User } from 'firebase/auth'; import type FirebaseAuthNamespace from 'firebase/auth'; import type { CurrentUser } from '@cedarjs/auth'; type FirebaseAuth = typeof FirebaseAuthNamespace; export type oAuthProvider = 'google.com' | 'facebook.com' | 'github.com' | 'twitter.com' | 'microsoft.com' | 'apple.com'; export type anonymousProvider = 'anonymous'; export type customTokenProvider = 'customToken'; export type emailLinkProvider = 'emailLink'; interface Options { providerId?: anonymousProvider | customTokenProvider | emailLinkProvider | oAuthProvider; email?: string; emailLink?: string; customToken?: string; password?: string; scopes?: string[]; customParameters?: CustomParameters; } export declare function createAuth(firebaseClient: FirebaseClient, customProviderHooks?: { useCurrentUser?: () => Promise; useHasRole?: (currentUser: CurrentUser | null) => (rolesToCheck: string | string[]) => boolean; }): { AuthContext: import("react").Context | undefined>; AuthProvider: ({ children }: import("@cedarjs/auth").AuthProviderProps) => import("react").JSX.Element; useAuth: () => import("@cedarjs/auth").AuthContextInterface; }; export interface FirebaseClient { firebaseAuth: FirebaseAuth; firebaseApp?: FirebaseApp; } export {}; //# sourceMappingURL=firebase.d.ts.map