import { SharedV3ProviderMetadata } from '../../shared';

/**
A file that has been generated by the model.
Generated files as base64 encoded strings or binary data.
The files should be returned without any unnecessary conversion.
 */
export type LanguageModelV3File = {
  type: 'file';

  /**
The IANA media type of the file, e.g. `image/png` or `audio/mp3`.

@see https://www.iana.org/assignments/media-types/media-types.xhtml
       */
  mediaType: string;

  /**
Generated file data as base64 encoded strings or binary data.

The file data should be returned without any unnecessary conversion.
If the API returns base64 encoded strings, the file data should be returned
as base64 encoded strings. If the API returns binary data, the file data should
be returned as binary data.
 */
  data: string | Uint8Array;

  /**
   * Optional provider-specific metadata for the file part.
   */
  providerMetadata?: SharedV3ProviderMetadata;
};
