export type RegisteredSerialNumberGetResponse = {
    [serialNumberKey: string]: RegisteredSerialNumber;
};
export type RegisteredUserSerialNumberGetResponse = {
    [serialNumberKey: string]: RegisteredUserSerialNumber;
};
export type RegisteredSerialNumber = RegisteredUserSerialNumber & {
    email: string;
};
export type RegisteredUserSerialNumber = {
    serialNumber: string;
    name?: string;
    date: string;
    reports?: RegisterReportsGetResponse;
};
export type RegisteredUserGetResponse = {
    [emailKey: string]: RegisteredUser;
};
export type RegisteredUser = {
    email: string;
    establishment: string;
    serialNumbers: RegisteredUserSerialNumberGetResponse;
    date: string;
    loginToken?: LoginToken;
    alternativeEmails?: string[];
    analyticsConsent?: boolean;
    automatedFaultReportingConsent?: boolean;
};
export declare class ZohoTicket {
    id: string;
    title: string;
    description: string;
    date: string;
    email: string;
    serialNumber: string;
    status: ZohoTicketStatus;
    isDeleted: boolean;
    constructor(ticket: any);
}
export type RegisterReportsGetResponse = {
    [reportId: string]: RegisteredReport;
};
export declare enum ZohoTicketStatus {
    OPEN = "Open",
    CLOSED = "Closed"
}
export type RegisteredReport = {
    id: string;
    title: string;
    description: string;
    date: string;
    email: string;
    serialNumber: string;
    zohoTicketId: string;
    zohoCommentId: string;
    robotName?: string;
    robotType?: string;
};
export type ZohoTicketComment = {
    id: string;
    content: string;
    commentedTime: string;
    encodedContent: string;
    zohoCommentId: string;
};
export type LoginToken = {
    queryString: string;
    token: string;
    expirationDate: string;
};
export type AlternativeToPrimaryEmailMap = {
    [alternativeEmail: string]: string;
};
export type PrimaryToAlternativeEmailMap = {
    [primaryEmail: string]: string[];
};
