$objects * @throws NotSupportedException * @throws DriverException * @return array */ public function specializeMultiple(array $objects): array; /** * Create new image instance with the current driver in given dimensions * * @param int $width * @param int $height * @throws RuntimeException * @return ImageInterface */ public function createImage(int $width, int $height): ImageInterface; /** * Create new animated image * * @param callable $init * @throws RuntimeException * @return ImageInterface */ public function createAnimation(callable $init): ImageInterface; /** * Handle given input by decoding it to ImageInterface or ColorInterface * * @param mixed $input * @param array $decoders * @throws RuntimeException * @return ImageInterface|ColorInterface */ public function handleInput(mixed $input, array $decoders = []): ImageInterface|ColorInterface; /** * Return color processor for the given colorspace * * @param ColorspaceInterface $colorspace * @return ColorProcessorInterface */ public function colorProcessor(ColorspaceInterface $colorspace): ColorProcessorInterface; /** * Return font processor of the current driver * * @return FontProcessorInterface */ public function fontProcessor(): FontProcessorInterface; /** * Check whether all requirements for operating the driver are met and * throw exception if the check fails. * * @throws DriverException * @return void */ public function checkHealth(): void; /** * Check if the current driver supports the given format and if the * underlying PHP extension was built with support for the format. * * @param string|Format|FileExtension|MediaType $identifier * @return bool */ public function supports(string|Format|FileExtension|MediaType $identifier): bool; }