import { Coordinates, Location, XYCoordinates } from '@gamepark/rules-api'; import { ListLocator } from './ListLocator'; import { MaterialContext } from './Locator'; /** * This Locator places a list of items as a grid, with break points for the lines. Inspired by the CSS flexbox. */ export declare class FlexLocator

extends ListLocator { constructor(clone?: Partial); /** * The number of items per line. */ lineSize: number; /** * Function to override to provide a {@link lineSize} that depends on the context * @param _location Location to position * @param _context Context of the game * @returns The number of items per line. */ getLineSize(_location: Location, _context: MaterialContext): number; getMaxCount(location: Location, context: MaterialContext): number | undefined; /** * The default gap between 2 consecutive lines */ lineGap?: Partial; /** * Function to override to provide a {@link getLineGap} that depends on the context * @param _location Location to position * @param _context Context of the game * @returns The default gap between 2 consecutive lines */ getLineGap(_location: Location, _context: MaterialContext): Partial; /** * The maximum number of lines displayed before the gap between the lines is reduced to fill in the same space. */ maxLines?: number; /** * Function to override to provide a {@link maxLines} that depends on the context * @param _location Location to position * @param _context Context of the game * @returns The maximum number of lines displayed before the gap between the lines is reduced to fill in the same space. */ getMaxLines(_location: Location, _context: MaterialContext): number | undefined; /** * The maximum gap between the first and the last line. Use {@link maxLines} if it matches a specific number of lines. */ maxLineGap?: Partial; /** * Function to override to provide a {@link maxLineGap} that depends on the context. Uses getMaxLines by default. * @param location Location to position * @param context Context of the game * @returns The maximum gap between the first and the last line. */ getMaxLineGap(location: Location, context: MaterialContext): Partial; countListItems(location: Location, context: MaterialContext): number; protected getCurrentMaxGap(location: Location, context: MaterialContext): XYCoordinates; getLocationCoordinates(location: Location, context: MaterialContext, index?: number | undefined): Partial; }