import type { CurrentUser } from '@cedarjs/auth'; import type { WebAuthnClientType } from './webAuthn.js'; export interface LoginAttributes { username: string; password: string; } export interface ResetPasswordAttributes { resetToken: string; password: string; } export type SignupAttributes = Record & LoginAttributes; export declare function createAuth(dbAuthClient: ReturnType, customProviderHooks?: { useCurrentUser?: () => Promise; useHasRole?: (currentUser: CurrentUser | null) => (rolesToCheck: string | string[]) => boolean; }): { AuthContext: import("react").Context void), LoginAttributes, any, unknown, boolean, SignupAttributes, any, any, ResetPasswordAttributes, any, any, import("./webAuthn.js").default> | undefined>; AuthProvider: ({ children }: import("@cedarjs/auth").AuthProviderProps) => import("react").JSX.Element; useAuth: () => import("@cedarjs/auth").AuthContextInterface void), LoginAttributes, any, unknown, boolean, SignupAttributes, any, any, ResetPasswordAttributes, any, any, import("./webAuthn.js").default>; }; export interface DbAuthClientArgs { webAuthn?: InstanceType; dbAuthUrl?: string; fetchConfig?: { credentials?: 'include' | 'same-origin'; }; middleware?: boolean; } export declare function createDbAuthClient({ webAuthn, dbAuthUrl, fetchConfig, middleware, }?: DbAuthClientArgs): { type: string; client: import("./webAuthn.js").default | undefined; login: ({ username, password }: LoginAttributes) => Promise; logout: () => Promise; signup: (attributes: SignupAttributes) => Promise; getToken: () => Promise; getUserMetadata: () => Promise void) | null>; forgotPassword: (username: string) => Promise; resetPassword: (attributes: ResetPasswordAttributes) => Promise; validateResetToken: (resetToken: string | null) => Promise; getAuthUrl: () => string; middlewareAuthEnabled: boolean; }; //# sourceMappingURL=dbAuth.d.ts.map