@namespace("keybase.1")

// tlf defines TLF related RPCs from `keybase` CLI to service (keybase daemon)
protocol tlf {
  import idl "tlf_keys.avdl";

  /**
   CryptKeys returns TLF crypt keys from all generations.
   */
  @lint("ignore")
  GetTLFCryptKeysRes CryptKeys(TLFQuery query);

  /**
   * tlfCanonicalID returns the canonical name and TLFID for tlfName.
   * TLFID should not be cached or stored persistently.
   */
  CanonicalTLFNameAndIDWithBreaks publicCanonicalTLFNameAndID(TLFQuery query);

  // The tlfName can be either complete or partial. If the user's username is
  // not present in tlfName, it gets appended automatically. The canonical TLF
  // name is returned.
  @lint("ignore")
  CanonicalTLFNameAndIDWithBreaks completeAndCanonicalizePrivateTlfName(TLFQuery query);
}
