/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"
#include "nsIImapFlagAndUidState.idl"

interface nsIMAPNamespace;

[scriptable, uuid(a9fbbc80-5291-4ed8-a7f7-c2fcad231269)]
interface nsIMailboxSpec : nsISupports
{
  attribute long folder_UIDVALIDITY;
  /**
   * The highest modification sequence number the parser has seen 
   * for this mailbox. See IMAP RFC 4551
   **/
  attribute unsigned long long highestModSeq;
  attribute long numMessages;
  attribute long numUnseenMessages;
  attribute long numRecentMessages;

  /// If server supports UIDNEXT, we store the result here.
  attribute long nextUID;

  attribute unsigned long box_flags;
  attribute unsigned long supportedUserFlags;

  attribute ACString allocatedPathName;
  attribute AString unicharPathName;
  attribute char hierarchyDelimiter;
  attribute ACString hostName;

  attribute nsIImapFlagAndUidState flagState;

  attribute boolean folderSelected;
  attribute boolean discoveredFromLsub;

  attribute boolean onlineVerified;

  [noscript] attribute nsIMAPNamespace  namespaceForFolder;
};