<?php

declare(strict_types=1);

namespace App\Services\Studio\Contracts;

use App\Models\User;
use Illuminate\Support\Collection;

interface CreatorStudioProvider
{
    public function key(): string;

    public function label(): string;

    public function icon(): string;

    public function createUrl(): string;

    public function indexUrl(): string;

    public function summary(User $user): array;

    public function items(User $user, string $bucket = 'all', int $limit = 200): Collection;

    public function topItems(User $user, int $limit = 5): Collection;

    public function analytics(User $user): array;

    public function scheduledItems(User $user, int $limit = 50): Collection;
}