import { Coordinates, Location, MaterialItem, XYCoordinates } from '@gamepark/rules-api'; import { LocationDescription } from '../components'; import { ItemContext, Locator, MaterialContext } from './Locator'; /** * This Locator places items at regular intervals. */ export declare class ListLocator

extends Locator { constructor(clone?: Partial); /** * The default gap between 2 consecutive items */ gap?: Partial; /** * Function to override to provide a {@link gap} that depends on the context * @param _location Location to position * @param _context Context of the game * @returns The default gap between 2 consecutive items */ getGap(_location: Location, _context: MaterialContext): Partial; /** * The maximum number of items that can be displayed in the list before the gap between items is reduced to fill in the same space. */ maxCount?: number; /** * Function to override to provide a {@link maxCount that depends on the context * @param _location Location to position * @param _context Context of the game * @returns The maximum number of items that can be displayed in the list before the gap between items is reduced to fill in the same space. */ getMaxCount(_location: Location, _context: MaterialContext): number | undefined; /** * The maximum gap between the first and the last items. See {@link maxCount} to get a maxGap based on a max number of items. */ maxGap?: Partial; /** * Function to override to provide a {@link maxGap} that depends on the context * @param location Location to position * @param context Context of the game * @returns The maximum gap between the first and the last items */ getMaxGap(location: Location, context: MaterialContext): Partial; getPositionDependencies(location: Location, context: MaterialContext): unknown; /** * The number of items displayed in the list * @param location Location area of the items * @param context Context of the game * @returns number of items in the location area */ countListItems(location: Location, context: MaterialContext): number; protected getAreaCoordinates(location: Location, context: MaterialContext): Partial; protected getCurrentMaxGap(location: Location, context: MaterialContext): XYCoordinates; getLocationCoordinates(location: Location, context: MaterialContext, index?: number | undefined): Partial; getItemCoordinates(item: MaterialItem, context: ItemContext): Partial; protected generateLocationDescriptionFromDraggedItem(location: Location, context: ItemContext): LocationDescription | undefined; }