import { TransactionInstruction } from '@solana/web3.js'; import { type Configuration } from '../generated/default'; import { getAlbumRequest, getAlbumsRequest, getAlbumTracksRequest, GetPurchaseAlbumInstructionsRequest, PurchaseAlbumRequest, UploadAlbumRequest, CreateAlbumRequestWithFiles, UpdateAlbumRequest, DeleteAlbumRequest, FavoriteAlbumRequest, UnfavoriteAlbumRequest, RepostAlbumRequest, UnrepostAlbumRequest, type AlbumsApiServicesConfig } from './types'; export declare class AlbumsApi { private readonly playlistsApi; private logger; private claimableTokensClient; private paymentRouterClient; private solanaRelay; private solanaClient; constructor(configuration: Configuration, servicesConfig: AlbumsApiServicesConfig); getAlbum(params: getAlbumRequest): Promise; getBulkAlbums(params: getAlbumsRequest): Promise; getAlbumTracks(params: getAlbumTracksRequest): Promise; /** @hidden * Create an album from existing tracks */ createAlbum(params: CreateAlbumRequestWithFiles, requestInit?: RequestInit): Promise; /** @hidden * Upload an album * Uploads the specified tracks and combines them into an album */ uploadAlbum(params: UploadAlbumRequest): Promise<{ blockHash: string | undefined; blockNumber: number | undefined; albumId: string | null | undefined; }>; /** @hidden * Update an album */ updateAlbum(params: UpdateAlbumRequest, requestInit?: RequestInit): Promise; /** @hidden * Delete an album */ deleteAlbum(params: DeleteAlbumRequest, requestInit?: RequestInit): Promise; /** @hidden * Favorite an album */ favoriteAlbum(params: FavoriteAlbumRequest, requestInit?: RequestInit): Promise; /** @hidden * Unfavorite an album */ unfavoriteAlbum(params: UnfavoriteAlbumRequest, requestInit?: RequestInit): Promise; /** @hidden * Repost an album */ repostAlbum(params: RepostAlbumRequest, requestInit?: RequestInit): Promise; /** @hidden * Unrepost an album */ unrepostAlbum(params: UnrepostAlbumRequest, requestInit?: RequestInit): Promise; /** * Gets the Solana instructions that purchase the album * * @hidden */ getPurchaseAlbumInstructions(params: GetPurchaseAlbumInstructionsRequest): Promise<{ instructions: { routeInstruction: TransactionInstruction; memoInstruction: TransactionInstruction; locationMemoInstruction: TransactionInstruction | undefined; }; total: bigint; }>; /** * Purchases stream access to an album * * @hidden */ purchaseAlbum(params: PurchaseAlbumRequest): Promise; }