import { TraktScrobbleRequest, TraktScrobble } from '../../models/trakt-scrobble.model.js';
import { TraktClientEndpoint } from '../../models/trakt-client.model.js';
import '../../models/trakt-entity.model.js';
import '@dvcol/common-utils/common/models';
import '../../models/trakt-id.model.js';
import '@dvcol/base-http-client';
import '@dvcol/common-utils/http/fetch';
import '../trakt-api.filters.js';
import '../../models/trakt-episode.model.js';
import '../../models/trakt-image.model.js';
import '../../models/trakt-people.model.js';
import '../../models/trakt-movie.model.js';
import '../../models/trakt-show.model.js';
/**
* Scrobbling is an automatic way to track what a user is watching in a media center.
* The media center should send events that correspond to starting, pausing, and stopping (or finishing) watching a movie or episode.
*/
declare const scrobble: {
/**
* Use this method when the video initially starts playing or is unpaused. This will remove any playback progress if it exists.
*
* * Note
*
* A watching status will auto expire after the remaining runtime has elapsed. There is no need to call this method again while continuing to watch the same item.
*
* @auth required
*
* @see [start-watching-in-a-media-center]{@link https://trakt.docs.apiary.io/#reference/scrobble/start/start-watching-in-a-media-center}
*/
start: TraktClientEndpoint, false>;
/**
* Use this method when the video is paused. The playback progress will be saved and [/sync/playback]{@link https://trakt.docs.apiary.io/reference/sync/playback/} can be used to resume the video from this exact position.
* Unpause a video by calling the [/scrobble/start]{@link https://trakt.docs.apiary.io/reference/scrobble/start/} method again.
*
* @auth required
*
* @see [pause-watching-in-a-media-center]{@link https://trakt.docs.apiary.io/#reference/scrobble/pause/pause-watching-in-a-media-center}
*/
pause: TraktClientEndpoint, false>;
/**
* Use this method when the video is stopped or finishes playing on its own. If the progress is above 80%, the video will be scrobbled and the action will be set to scrobble.
* A unique history id (64-bit integer) will be returned and can be used to reference this scrobble directly.
*
* If the progress is less than 80%, it will be treated as a pause and the action will be set to pause.
* The playback progress will be saved and [/sync/playback]{@link https://trakt.docs.apiary.io/reference/sync/playback/} can be used to resume the video from this exact position.
*
* * Note
*
* If you prefer to use a threshold higher than 80%, you should use [/scrobble/pause]{@link https://trakt.docs.apiary.io/reference/scrobble/pause/} yourself so it doesn't create duplicate scrobbles.
*
* * Note
*
* If the same item was just scrobbled, a 409 HTTP status code will returned to avoid scrobbling a duplicate.
* The response will contain a watched_at timestamp when the item was last scrobbled and a expires_at timestamp when the item can be scrobbled again.
*
*
* @throws TraktScrobbleError
*
* @auth required
*
* @see [stop-or-finish-watching-in-a-media-center]{@link https://trakt.docs.apiary.io/#reference/scrobble/stop/stop-or-finish-watching-in-a-media-center}
*/
stop: TraktClientEndpoint, false>;
};
export { scrobble };