from pathlib import Path
import glob


def resolve_wildcards(filenames: list[str]) -> list[Path]:
    """Resolve unique Paths from a list containing wildcards.

        :param list[str] filenames: A list of filenames that may contain
             wildcards.
        :return: A list of unique Paths.
        :rtype list[Path]:
    """
    # Resolve wildcards.
    names = []
    for n in filenames:
        i = glob.glob(n)
        if i:
            names.extend(i)
    # Remove duplicates
    names = list(set(names))

    # Convert strings to paths.
    paths = [Path(n) for n in names]
    return paths