import { IIdentity_Response_DTO } from "@shared/contexts"; export type SuccessNotificationResponse = { message: string; description?: string; }; export type PermissionResponse = unknown; export type IdentityResponse = IIdentity_Response_DTO | null; export type AuthActionCheckResponse = { authenticated: boolean; redirectTo?: string; logout?: boolean; error?: Error; }; export type AuthActionOnErrorResponse = { redirectTo?: string; logout?: boolean; error?: Error; }; export type AuthActionResponse = { success: boolean; redirectTo?: string; error?: Error; [key: string]: unknown; successNotification?: SuccessNotificationResponse; }; export interface IAuthActions { login: (params: any) => Promise; logout: (params: any) => Promise; check: () => Promise; onError?: (error: any) => Promise; register?: (params: unknown) => Promise; forgotPassword?: (params: unknown) => Promise; updatePassword?: (params: unknown) => Promise; getPermissions?: (params?: Record) => Promise; getIdentity?: (params?: unknown) => Promise; }