license import { InjectionToken , IterableChangeRecord , IterableChanges , TemplateRef , ViewContainerRef , } from '@angular/core' ; template T export interface _ViewRepeaterItemContext < T > { $implicit ? : T ; } template C export interface _ViewRepeaterItemInsertArgs < C > { templateRef : TemplateRef < C > ; context ? : C ; index ? : number ; } template T template R template C export type _ViewRepeaterItemContextFactory < T , R , C extends _ViewRepeaterItemContext < T > > = ( record : IterableChangeRecord < R > , adjustedPreviousIndex : number | null , currentIndex : number | null ) => _ViewRepeaterItemInsertArgs < C > ; /**
 * Extracts the value of an item from an  IterableChangeRecord .
 *
 *  template T template R export type _ViewRepeaterItemValueResolver < T , R > = ( record : IterableChangeRecord < R > ) => T ; /** Indicates how a view was changed by a  _ViewRepeater .  export const enum _ViewRepeaterOperation { /** The content of an existing view was replaced with another item. */ REPLACED , /** A new view was created with `createEmbeddedView`. */ INSERTED , /** The position of a view changed, but the content remains the same. */ MOVED , /** A view was detached from the view container. */ REMOVED } /**
 * Meta data describing the state of a view after it was updated by a
 *  _ViewRepeater .
 *
 *  template R template C export interface _ViewRepeaterItemChange < R , C > { /** The view's context after it was changed. */ context ? : C ; /** Indicates how the view was changed. */ operation : _ViewRepeaterOperation ; /** The view's corresponding change record. */ record : IterableChangeRecord < R > ; } template R template C export type _ViewRepeaterItemChanged < R , C > = ( change : _ViewRepeaterItemChange < R , C > ) => void ; /**
 * Describes a strategy for rendering items in a  ViewContainerRef .
 *
 *  template T template R template C export interface _ViewRepeater < T , R , C extends _ViewRepeaterItemContext < T > > { applyChanges ( changes , viewContainerRef , itemContextFactory , itemValueResolver , itemViewChanged ? ) : void ; detach ( ) : void ; } /**
 * Injection token for  _ViewRepeater . This token is for use by Angular Material only.
 *  docs-private export const _VIEW_REPEATER_STRATEGY = new InjectionToken < _ViewRepeater < unknown , unknown , _ViewRepeaterItemContext < unknown > > > ( '_ViewRepeater' ) ;