import { LucideIcon } from 'lucide-react';
import { ReactNode } from 'react';
import { A as ApiDataInterface } from './ApiDataInterface-DPP8s46n.js';
import { M as ModuleWithPermissions } from './notification.interface-DEW8hR8g.js';

declare const getIconByModule: (params: {
    module: ModuleWithPermissions;
    className?: string;
}) => ReactNode;
declare const getIcon: (params: {
    element: ApiDataInterface;
    className?: string;
}) => ReactNode;
declare const getIconByModuleName: (params: {
    name: string;
    className?: string;
}) => ReactNode;
declare const getLucideIcon: (params: {
    element: ApiDataInterface;
}) => LucideIcon | null;
declare const getLucideIconByModule: (params: {
    module: ModuleWithPermissions;
}) => LucideIcon | null;
declare const getLucideIconByModuleName: (params: {
    name: string;
}) => LucideIcon | null;

interface TotpAuthenticatorInterface extends ApiDataInterface {
    get name(): string;
    get verified(): boolean;
    get lastUsedAt(): Date | undefined;
}

interface PasskeyInterface extends ApiDataInterface {
    get name(): string;
    get credentialId(): string;
    get deviceType(): string;
    get backedUp(): boolean;
    get lastUsedAt(): Date | undefined;
}

declare enum AuthComponent {
    Login = 0,
    ForgotPassword = 1,
    ResetPassword = 2,
    ActivateAccount = 3,
    AcceptInvitation = 4,
    Register = 5,
    Landing = 6,
    TwoFactorChallenge = "2fa_challenge"
}

export { AuthComponent as A, type PasskeyInterface as P, type TotpAuthenticatorInterface as T, getIcon as a, getIconByModuleName as b, getLucideIcon as c, getLucideIconByModule as d, getLucideIconByModuleName as e, getIconByModule as g };
