/**
 * Add an action to the log.
 * @author Gabe Abrams
 * @param {string} type - action type
 * @param {string} [description="N/A"] - human-readable description of
 *   the action
 * @param {object} [metadata={}] - a metadata object to attach to the log
 * @param {boolean} [ignoreSessionExpiry] - if true, catch session expiry
 *   separately
 */
type LogAction = (opts: {
  type: string,
  description?: string,
  metadata?: { [key in string]: any },
  ignoreSessionExpiry?: boolean,
}) => Promise<void>;

export default LogAction;
