<?php

namespace interfaces;

interface weatherapi_i
{
    public function requireModuleEnabled(): void;

    public function requireValidSecretKey(): void;

    public function sendRequest(string $endpoint, array $query = []): object;

    public function current(string $query, array $options = []): object;

    public function forecast(string $query, int $days = 1, array $options = []): object;

    public function history(string $query, string $date, array $options = []): object;

    public function astronomy(string $query, string $date, array $options = []): object;

    public function timezone(string $query, array $options = []): object;

    public function sports(string $query, array $options = []): object;

    public function search(string $query, array $options = []): object;

    public function marine(string $query, int $days = 1, array $options = []): object;

    public function future(string $query, string $date, array $options = []): object;
}
