{
    "type": "object",
    "properties": {
        "getAccessTokenSilently": {
            "type": "object",
            "additionalProperties": false
        },
        "login": {
            "type": "object",
            "additionalProperties": false
        },
        "_logout": {
            "type": "object",
            "additionalProperties": false
        },
        "isExternal": {
            "type": "object",
            "additionalProperties": false
        },
        "error": {
            "$ref": "#/definitions/Error"
        },
        "user": {
            "$ref": "#/definitions/User"
        },
        "getAccessTokenWithPopup": {
            "description": "```js\nconst token = await getTokenWithPopup(options, config);\n```\n\nGet an access token interactively.\n\nOpens a popup with the `/authorize` URL using the parameters\nprovided as arguments. Random and secure `state` and `nonce`\nparameters will be auto-generated. If the response is successful,\nresults will be valid according to their expiration times.",
            "type": "object",
            "additionalProperties": false
        },
        "getIdTokenClaims": {
            "description": "```js\nconst claims = await getIdTokenClaims();\n```\n\nReturns all claims from the id_token if available.",
            "type": "object",
            "additionalProperties": false
        },
        "loginWithRedirect": {
            "description": "```js\nawait loginWithRedirect(options);\n```\n\nPerforms a redirect to `/authorize` using the parameters\nprovided as arguments. Random and secure `state` and `nonce`\nparameters will be auto-generated.",
            "type": "object",
            "additionalProperties": false
        },
        "loginWithPopup": {
            "description": "```js\nawait loginWithPopup(options, config);\n```\n\nOpens a popup with the `/authorize` URL using the parameters\nprovided as arguments. Random and secure `state` and `nonce`\nparameters will be auto-generated. If the response is successful,\nresults will be valid according to their expiration times.\n\nIMPORTANT: This method has to be called from an event handler\nthat was started by the user like a button click, for example,\notherwise the popup will be blocked in most browsers.",
            "type": "object",
            "additionalProperties": false
        },
        "logout": {
            "description": "```js\nauth0.logout({ returnTo: window.location.origin });\n```\n\nClears the application session and performs a redirect to `/v2/logout`, using\nthe parameters provided as arguments, to clear the Auth0 session.\nIf the `federated` option is specified, it also clears the Identity Provider session.\nIf the `localOnly` option is specified, it only clears the application session.\nIt is invalid to set both the `federated` and `localOnly` options to `true`,\nand an error will be thrown if you do.\n[Read more about how Logout works at Auth0](https://auth0.com/docs/logout).",
            "type": "object",
            "additionalProperties": false
        },
        "buildAuthorizeUrl": {
            "description": "```js\nconst authUrl = await buildAuthorizeUrl();\n```\n\nBuilds an `/authorize` URL for loginWithRedirect using the parameters\nprovided as arguments. Random and secure `state` and `nonce`\nparameters will be auto-generated.",
            "type": "object",
            "additionalProperties": false
        },
        "buildLogoutUrl": {
            "description": "```js\nconst logoutUrl = buildLogoutUrl();\n```\n\nreturns a URL to the logout endpoint using the parameters provided as arguments.",
            "type": "object",
            "additionalProperties": false
        },
        "handleRedirectCallback": {
            "description": "After the browser redirects back to the callback page,\ncall `handleRedirectCallback` to handle success and error\nresponses from Auth0. If the response is successful, results\nwill be valid according to their expiration times.",
            "type": "object",
            "additionalProperties": false
        },
        "isAuthenticated": {
            "type": "boolean"
        },
        "isLoading": {
            "type": "boolean"
        }
    },
    "additionalProperties": false,
    "required": [
        "_logout",
        "buildAuthorizeUrl",
        "buildLogoutUrl",
        "getAccessTokenSilently",
        "getAccessTokenWithPopup",
        "getIdTokenClaims",
        "handleRedirectCallback",
        "isAuthenticated",
        "isExternal",
        "isLoading",
        "login",
        "loginWithPopup",
        "loginWithRedirect",
        "logout"
    ],
    "definitions": {
        "Error": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "stack": {
                    "type": "string"
                }
            },
            "additionalProperties": false,
            "required": [
                "message",
                "name"
            ]
        },
        "User": {
            "type": "object",
            "additionalProperties": {},
            "properties": {
                "name": {
                    "type": "string"
                },
                "given_name": {
                    "type": "string"
                },
                "family_name": {
                    "type": "string"
                },
                "middle_name": {
                    "type": "string"
                },
                "nickname": {
                    "type": "string"
                },
                "preferred_username": {
                    "type": "string"
                },
                "profile": {
                    "type": "string"
                },
                "picture": {
                    "type": "string"
                },
                "website": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "email_verified": {
                    "type": "boolean"
                },
                "gender": {
                    "type": "string"
                },
                "birthdate": {
                    "type": "string"
                },
                "zoneinfo": {
                    "type": "string"
                },
                "locale": {
                    "type": "string"
                },
                "phone_number": {
                    "type": "string"
                },
                "phone_number_verified": {
                    "type": "boolean"
                },
                "address": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "sub": {
                    "type": "string"
                }
            }
        }
    },
    "$schema": "http://json-schema.org/draft-07/schema#"
}
