// Signature format: 4.0
package androidx.wear.tiles.manager {

  public final class TileManager implements java.lang.AutoCloseable {
    ctor public TileManager(android.content.Context context, android.content.ComponentName component, android.view.ViewGroup parentView);
    method @MainThread public void close();
    method @MainThread public void create();
  }

}

package androidx.wear.tiles.renderer {

  public class ResourceAccessors {
    method public static androidx.wear.tiles.renderer.ResourceAccessors.Builder builder(androidx.wear.tiles.proto.ResourceProto.Resources);
    method public com.google.common.util.concurrent.ListenableFuture<android.graphics.drawable.Drawable!> getDrawable(String);
  }

  public static interface ResourceAccessors.AndroidImageResourceByResIdAccessor {
    method public com.google.common.util.concurrent.ListenableFuture<android.graphics.drawable.Drawable!> getDrawable(androidx.wear.tiles.proto.ResourceProto.AndroidImageResourceByResId);
  }

  public static final class ResourceAccessors.Builder {
    method public androidx.wear.tiles.renderer.ResourceAccessors build();
    method public androidx.wear.tiles.renderer.ResourceAccessors.Builder setAndroidImageResourceByResIdAccessor(androidx.wear.tiles.renderer.ResourceAccessors.AndroidImageResourceByResIdAccessor);
    method public androidx.wear.tiles.renderer.ResourceAccessors.Builder setInlineImageResourceAccessor(androidx.wear.tiles.renderer.ResourceAccessors.InlineImageResourceAccessor);
  }

  public static interface ResourceAccessors.InlineImageResourceAccessor {
    method public com.google.common.util.concurrent.ListenableFuture<android.graphics.drawable.Drawable!> getDrawable(androidx.wear.tiles.proto.ResourceProto.InlineImageResource);
  }

  public static final class ResourceAccessors.ResourceAccessException extends java.lang.Exception {
    ctor public ResourceAccessors.ResourceAccessException(String);
    ctor public ResourceAccessors.ResourceAccessException(String, Exception);
  }

  public class StandardResourceAccessors {
    method public static androidx.wear.tiles.renderer.ResourceAccessors.Builder forLocalApp(android.content.Context, androidx.wear.tiles.builders.ResourceBuilders.Resources);
    method public static androidx.wear.tiles.renderer.ResourceAccessors.Builder forRemoteService(android.content.Context, androidx.wear.tiles.builders.ResourceBuilders.Resources, android.content.res.Resources);
  }

  public final class TileRenderer {
    ctor public TileRenderer(android.content.Context, androidx.wear.tiles.builders.LayoutElementBuilders.Layout, androidx.wear.tiles.renderer.ResourceAccessors, java.util.concurrent.Executor, androidx.wear.tiles.renderer.TileRenderer.LoadActionListener);
    ctor public TileRenderer(android.content.Context, androidx.wear.tiles.builders.LayoutElementBuilders.Layout, androidx.wear.tiles.renderer.ResourceAccessors, @StyleRes int, java.util.concurrent.Executor, androidx.wear.tiles.renderer.TileRenderer.LoadActionListener);
    method public android.view.View? inflate(android.view.ViewGroup);
  }

  public static interface TileRenderer.LoadActionListener {
    method public void onClick(androidx.wear.tiles.proto.StateProto.State);
  }

}

package androidx.wear.tiles.timeline {

  public final class TilesTimelineCache {
    ctor public TilesTimelineCache(androidx.wear.tiles.builders.TimelineBuilders.Timeline);
    method @MainThread public androidx.wear.tiles.builders.TimelineBuilders.TimelineEntry? findClosestTimelineEntry(long);
    method public long findCurrentTimelineEntryExpiry(androidx.wear.tiles.builders.TimelineBuilders.TimelineEntry, long);
    method @MainThread public androidx.wear.tiles.builders.TimelineBuilders.TimelineEntry? findTimelineEntryForTime(long);
  }

  public class TilesTimelineManager {
    ctor public TilesTimelineManager(android.app.AlarmManager, androidx.wear.tiles.timeline.TilesTimelineManager.Clock, androidx.wear.tiles.builders.TimelineBuilders.Timeline, int, java.util.concurrent.Executor, androidx.wear.tiles.timeline.TilesTimelineManager.Listener);
    method public void deInit();
    method public void init();
  }

  public static interface TilesTimelineManager.Clock {
    method public long getCurrentTimeMillis();
  }

  public static interface TilesTimelineManager.Listener {
    method public void onLayoutUpdate(int, androidx.wear.tiles.builders.LayoutElementBuilders.Layout);
  }

}

