import { ArchbaseAuthenticator, ArchbaseAccessToken, ContextualAuthenticationRequest, ContextualAuthenticationResponse, FlexibleLoginRequest, SocialLoginRequest, RegisterUserRequest } from '@archbase/security'; /** * Exemplo de implementação de um ArchbaseAuthenticator com métodos contextuais opcionais */ export declare class ExampleContextualAuthenticator implements ArchbaseAuthenticator { login(username: string, password: string): Promise; refreshToken(refresh_token: string): Promise; sendResetPasswordEmail(email: string): Promise; resetPassword(email: string, passwordResetToken: string, newPassword: string): Promise; loginWithContext(request: ContextualAuthenticationRequest): Promise<{ access_token: string; refresh_token: string; expires_in: number; id_token: string; token_type: string; user: { id: { identifier: string; }; name: string; description: string; userName: string; email: string; createEntityDate: string; version: number; changePasswordOnNextLogin: boolean; allowPasswordChange: boolean; allowMultipleLogins: boolean; passwordNeverExpires: boolean; accountDeactivated: boolean; accountLocked: boolean; unlimitedAccessHours: boolean; isAdministrator: boolean; groups: any[]; profile: any; avatar: any; nickname: any; }; context: { type: any; adminId: string; name: string; email: string; profilePicture: any; accessLevel: string; availableModules: string[]; status: string; }; }>; loginFlexible(request: FlexibleLoginRequest): Promise<{ access_token: string; refresh_token: string; expires_in: number; id_token: string; token_type: string; user: { id: { identifier: string; }; name: string; description: string; userName: string; email: string; createEntityDate: string; version: number; changePasswordOnNextLogin: boolean; allowPasswordChange: boolean; allowMultipleLogins: boolean; passwordNeverExpires: boolean; accountDeactivated: boolean; accountLocked: boolean; unlimitedAccessHours: boolean; isAdministrator: boolean; groups: any[]; profile: any; avatar: any; nickname: any; }; context: { type: any; adminId: string; name: string; email: string; profilePicture: any; accessLevel: string; availableModules: string[]; status: string; }; }>; loginSocial(request: SocialLoginRequest): Promise; register(request: RegisterUserRequest): Promise<{ email: any; businessId: string; message: string; }>; getSupportedContexts(): Promise<{ supportedContexts: string[]; defaultContext: string; }>; validateContext(context: string): Promise<{ context: string; supported: boolean; }>; private resolveEmailFromIdentifier; } /** * Exemplo de uso do hook com recursos contextuais */ export declare function ExampleUsageComponent(): any; /** * Exemplo de como verificar capacidades antes de usar */ export declare function CapabilitiesExample(): any;