import { MTableQueries, MRequestMiddelware } from "../../common-types/common";
import { IAppUpdateStatisticsMst } from "../../schema/app/app_update_statistics_mst";
import { controllerResponse } from "../../utilities";
type IAppStatisticsErrorLogger = {
    [key in keyof MAppStatistics]: string;
};
type IAppStatisticsGetByIdErrorLogger = {
    [key in keyof MAppStatisticsGetByIdPayload]: string;
};
type IAppStatisticsInsertUpdateErrorLogger = {
    [key in keyof MAppStatisticsInsertUpdatePayload]: string;
};
declare class MAppStatistics extends MTableQueries {
    appstat_id?: string;
    appstat_version_id_appver?: string;
    query?: string;
    constructor(init: MAppStatistics);
    Validate?(): Partial<IAppStatisticsErrorLogger>;
}
declare class MAppStatisticsGetByIdPayload implements MRequestMiddelware {
    appstat_id?: string;
    _id?: string;
    constructor(init: MAppStatisticsGetByIdPayload);
    Validate?(): Partial<IAppStatisticsGetByIdErrorLogger>;
}
declare class MAppStatisticsInsertUpdatePayload implements IAppUpdateStatisticsMst, MRequestMiddelware {
    _id?: string;
    appstat_version_id_appver?: string;
    appstat_stat_date?: Date;
    appstat_total_users?: number;
    appstat_users_on_version?: number;
    appstat_users_updated?: number;
    appstat_users_failed?: number;
    appstat_success_rate?: number;
    appstat_avg_update_time?: number;
    appstat_download_count?: number;
    appstat_install_count?: number;
    appstat_rollback_count?: number;
    appstat_created_at?: Date;
    appstat_updated_at?: Date;
    constructor(init: Partial<IAppUpdateStatisticsMst> & {
        _id?: string;
    });
    Validate?(): Partial<IAppStatisticsInsertUpdateErrorLogger>;
}
interface appStatisticsControllerResponse extends controllerResponse {
    data?: any[] | any | null;
    total?: number;
    totalDocument?: number;
}
interface appStatisticsByIdControllerResponse extends controllerResponse {
    data?: any | null;
}
interface appStatisticsInsertUpdateControllerResponse extends controllerResponse {
    data?: any | null;
}
export { MAppStatistics, MAppStatisticsGetByIdPayload, MAppStatisticsInsertUpdatePayload, appStatisticsControllerResponse, appStatisticsByIdControllerResponse, appStatisticsInsertUpdateControllerResponse };
