import CommandApi from '../Command/Command';
import IRecordItemOptions from './IRecordItemOptions';
import IProofOfPlay from './IProofOfPlay';
/**
 * The `sos.proofOfPlay` API provides methods for recording information about played content on the device.
 *
 * Can be useful for tracking the playback of content, which can be used for analytics, reporting, or debugging purposes.
 */
export default class ProofOfPlay implements IProofOfPlay {
    private commandApi;
    /** @internal */
    constructor(commandApi: CommandApi);
    /**
     * The `recordItemPlayed()` method dispatches a `sos.command.dispatch()` command. It sends provided information about played content along
     * with additional metadata about current applet and device to signageOS.
     *
     * @param options The options for recording the played item.
     * @param options.name The name of the item that was played.
     * @param options.customId An optional custom identifier for the item.
     * @param options.type The type of the item that was played. It can be one of the following: `video`, `image`, `html`, or `custom`.
     * @param options.tags An array of tags associated with the item.
     * @param options.fileName The name of the file that was played.
     * @param options.playbackSuccess A boolean indicating whether the playback was successful.
     * @param options.errorMessage An optional error message if the playback was not successful.
     * @returns {Promise<void>} A promise that resolves when the item has been recorded.
     * @throws {Error} If any of the provided options are invalid.
     * @since 5.5.1
     */
    recordItemPlayed(options: IRecordItemOptions): Promise<void>;
}
