type JSONValue = null | string | number | boolean | { [value: string]: JSONValue; } | Array; interface Principal { name: string; } interface Authentication extends Principal { authorities: string[]; authenticated: boolean; } interface CsrfToken { token: string; headerName: string; parameterName: string; } declare enum Provider { APPLE = "APPLE", DISCORD = "DISCORD", FACEBOOK = "FACEBOOK", GITHUB = "GITHUB", GOOGLE = "GOOGLE", LINKEDIN = "LINKEDIN", MICROSOFT = "MICROSOFT", SLACK = "SLACK", WECHAT = "WECHAT", X = "X", EMAIL = "EMAIL", PHONE = "PHONE" } declare const ALL_PROVIDERS: readonly [Provider.APPLE, Provider.DISCORD, Provider.FACEBOOK, Provider.GITHUB, Provider.GOOGLE, Provider.LINKEDIN, Provider.MICROSOFT, Provider.SLACK, Provider.WECHAT, Provider.X, Provider.EMAIL, Provider.PHONE]; export { ALL_PROVIDERS, type Authentication, type CsrfToken, type JSONValue, type Principal, Provider };