name: PasswordBroker
class_comment: null
dependencies:
- name: Closure
  type: class
  source: Closure
- name: PasswordResetLinkSent
  type: class
  source: Illuminate\Auth\Events\PasswordResetLinkSent
- name: CanResetPasswordContract
  type: class
  source: Illuminate\Contracts\Auth\CanResetPassword
- name: PasswordBrokerContract
  type: class
  source: Illuminate\Contracts\Auth\PasswordBroker
- name: UserProvider
  type: class
  source: Illuminate\Contracts\Auth\UserProvider
- name: Dispatcher
  type: class
  source: Illuminate\Contracts\Events\Dispatcher
- name: Arr
  type: class
  source: Illuminate\Support\Arr
- name: UnexpectedValueException
  type: class
  source: UnexpectedValueException
properties:
- name: tokens
  visibility: protected
  comment: '# * The password token repository.

    # *

    # * @var \Illuminate\Auth\Passwords\TokenRepositoryInterface'
- name: users
  visibility: protected
  comment: '# * The user provider implementation.

    # *

    # * @var \Illuminate\Contracts\Auth\UserProvider'
- name: events
  visibility: protected
  comment: '# * The event dispatcher instance.

    # *

    # * @var \Illuminate\Contracts\Events\Dispatcher'
methods:
- name: __construct
  visibility: public
  parameters:
  - name: tokens
  - name: users
  - name: dispatcher
    default: 'null'
  comment: "# * The password token repository.\n# *\n# * @var \\Illuminate\\Auth\\\
    Passwords\\TokenRepositoryInterface\n# */\n# protected $tokens;\n# \n# /**\n#\
    \ * The user provider implementation.\n# *\n# * @var \\Illuminate\\Contracts\\\
    Auth\\UserProvider\n# */\n# protected $users;\n# \n# /**\n# * The event dispatcher\
    \ instance.\n# *\n# * @var \\Illuminate\\Contracts\\Events\\Dispatcher\n# */\n\
    # protected $events;\n# \n# /**\n# * Create a new password broker instance.\n\
    # *\n# * @param  \\Illuminate\\Auth\\Passwords\\TokenRepositoryInterface  $tokens\n\
    # * @param  \\Illuminate\\Contracts\\Auth\\UserProvider  $users\n# * @param  \\\
    Illuminate\\Contracts\\Events\\Dispatcher|null  $dispatcher\n# * @return void"
- name: sendResetLink
  visibility: public
  parameters:
  - name: credentials
  - name: callback
    default: 'null'
  comment: '# * Send a password reset link to a user.

    # *

    # * @param  array  $credentials

    # * @param  \Closure|null  $callback

    # * @return string'
- name: reset
  visibility: public
  parameters:
  - name: credentials
  - name: callback
  comment: '# * Reset the password for the given token.

    # *

    # * @param  array  $credentials

    # * @param  \Closure  $callback

    # * @return mixed'
- name: validateReset
  visibility: protected
  parameters:
  - name: credentials
  comment: '# * Validate a password reset for the given credentials.

    # *

    # * @param  array  $credentials

    # * @return \Illuminate\Contracts\Auth\CanResetPassword|string'
- name: getUser
  visibility: public
  parameters:
  - name: credentials
  comment: '# * Get the user for the given credentials.

    # *

    # * @param  array  $credentials

    # * @return \Illuminate\Contracts\Auth\CanResetPassword|null

    # *

    # * @throws \UnexpectedValueException'
- name: createToken
  visibility: public
  parameters:
  - name: user
  comment: '# * Create a new password reset token for the given user.

    # *

    # * @param  \Illuminate\Contracts\Auth\CanResetPassword  $user

    # * @return string'
- name: deleteToken
  visibility: public
  parameters:
  - name: user
  comment: '# * Delete password reset tokens of the given user.

    # *

    # * @param  \Illuminate\Contracts\Auth\CanResetPassword  $user

    # * @return void'
- name: tokenExists
  visibility: public
  parameters:
  - name: user
  - name: token
  comment: '# * Validate the given password reset token.

    # *

    # * @param  \Illuminate\Contracts\Auth\CanResetPassword  $user

    # * @param  string  $token

    # * @return bool'
- name: getRepository
  visibility: public
  parameters: []
  comment: '# * Get the password reset token repository implementation.

    # *

    # * @return \Illuminate\Auth\Passwords\TokenRepositoryInterface'
traits:
- Closure
- Illuminate\Auth\Events\PasswordResetLinkSent
- Illuminate\Contracts\Auth\UserProvider
- Illuminate\Contracts\Events\Dispatcher
- Illuminate\Support\Arr
- UnexpectedValueException
interfaces:
- PasswordBrokerContract