drishti/src/client/types.tsx

28 lines
686 B
TypeScript

import client from "jmap-client-ts/lib/types";
export interface IEmailStub {
id: string;
subject: string;
}
export interface IMailbox extends client.IMailboxProperties {
emailIds: Array<string> | null;
}
export interface IEmail extends client.IEmailProperties {}
export interface IAccount extends client.IAccount {
id: string;
mailboxes: Array<IMailbox> | null;
}
export type AccountIdMap = { [accountId: string]: IAccount };
export type EmailStubIdMap = { [emailId: string]: IEmailStub };
export type EmailIdMap = { [emailId: string]: IEmail };
export interface ISession extends client.ISession {
accounts: AccountIdMap;
emails: EmailIdMap;
emailStubs: EmailStubIdMap;
}