import { ScreenState, CompareScreenStatesParameters, CompareScreenStatesType, CompareActiveNamesParameters, CompareActiveNamesType } from '../@types/types'; export interface RePortParameters extends CompareScreenStatesParameters, CompareActiveNamesParameters { islevel: string; mainScreenPerson: string; adminOnMainScreen: boolean; mainScreenFilled: boolean; recordStarted: boolean; recordStopped: boolean; recordPaused: boolean; recordResumed: boolean; screenStates: ScreenState[]; prevScreenStates: ScreenState[]; updateScreenStates: (states: ScreenState[]) => void; updatePrevScreenStates: (states: ScreenState[]) => void; compareActiveNames: CompareActiveNamesType; compareScreenStates: CompareScreenStatesType; getUpdatedAllParams: () => RePortParameters; [key: string]: any; } export interface RePortOptions { restart?: boolean; parameters: RePortParameters; } export type RePortType = (options: RePortOptions) => Promise; /** * RePort function that handles the reporting logic based on the provided parameters. * * @param {RePortOptions} options - The options for the rePort function. * @param {boolean} [options.restart=false] - Flag indicating whether to restart the process. * @param {Object} options.parameters - The parameters object containing various states and functions. * @param {Function} options.parameters.getUpdatedAllParams - Function to get updated parameters. * @param {string} options.parameters.islevel - The current level of the process. * @param {string} options.parameters.mainScreenPerson - The person on the main screen. * @param {boolean} options.parameters.adminOnMainScreen - Flag indicating if admin is on the main screen. * @param {boolean} options.parameters.mainScreenFilled - Flag indicating if the main screen is filled. * @param {boolean} options.parameters.recordStarted - Flag indicating if recording has started. * @param {boolean} options.parameters.recordStopped - Flag indicating if recording has stopped. * @param {boolean} options.parameters.recordPaused - Flag indicating if recording is paused. * @param {boolean} options.parameters.recordResumed - Flag indicating if recording has resumed. * @param {Array} options.parameters.screenStates - Array of current screen states. * @param {Function} options.parameters.updateScreenStates - Function to update the current screen states. * @param {Function} options.parameters.updatePrevScreenStates - Function to update the previous screen states. * @param {Function} options.parameters.compareActiveNames - Function to compare active names. * @param {Function} options.parameters.compareScreenStates - Function to compare screen states. * * @returns {Promise} A promise that resolves when the reporting process is complete. * * @throws {Error} Throws an error if there is an issue during the reporting process. * * @example * ```typescript * await rePort({ * restart: false, * parameters: { * islevel: "2", * mainScreenPerson: "John Doe", * // other parameters... * }, * }); * ``` */ export declare function rePort({ restart, parameters }: RePortOptions): Promise;