<?php

namespace App\Modules\Office365\Services;

interface Office365ServiceInterface
{
    /**
     * Get calendar events for a date range
     *
     * @param string $startDate
     * @param string $endDate  
     * @param int|null $userId
     * @return array
     */
    public function getCalendarEvents($startDate, $endDate, $userId = null);
    
    /**
     * Check if user has valid Office 365 authentication
     *
     * @param int|null $userId
     * @return bool
     */
    public function isAuthenticated($userId = null);
    
    /**
     * Get authentication URL for OAuth flow
     *
     * @return string
     */
    public function getAuthUrl();
    
    /**
     * Revoke user's Office 365 access
     *
     * @param int|null $userId
     * @return bool
     */
    public function revokeAccess($userId = null);
}