import * as jspb from 'google-protobuf'



export class Track extends jspb.Message {
  getTrackId(): number;
  setTrackId(value: number): Track;

  getTitle(): string;
  setTitle(value: string): Track;

  getArtistId(): number;
  setArtistId(value: number): Track;

  getAlbumId(): number;
  setAlbumId(value: number): Track;
  hasAlbumId(): boolean;
  clearAlbumId(): Track;

  getDuration(): number;
  setDuration(value: number): Track;

  getUrl(): string;
  setUrl(value: string): Track;

  getSource(): string;
  setSource(value: string): Track;

  getImageUrl(): string;
  setImageUrl(value: string): Track;

  getGenreId(): number;
  setGenreId(value: number): Track;
  hasGenreId(): boolean;
  clearGenreId(): Track;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): Track.AsObject;
  static toObject(includeInstance: boolean, msg: Track): Track.AsObject;
  static serializeBinaryToWriter(message: Track, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): Track;
  static deserializeBinaryFromReader(message: Track, reader: jspb.BinaryReader): Track;
}

export namespace Track {
  export type AsObject = {
    trackId: number,
    title: string,
    artistId: number,
    albumId?: number,
    duration: number,
    url: string,
    source: string,
    imageUrl: string,
    genreId?: number,
  }

  export enum AlbumIdCase { 
    _ALBUM_ID_NOT_SET = 0,
    ALBUM_ID = 4,
  }

  export enum GenreIdCase { 
    _GENRE_ID_NOT_SET = 0,
    GENRE_ID = 9,
  }
}

