import type { Pattern } from "../render/patterns/Pattern"; import type { Color } from "./Color"; import { LinePattern, ILinePatternSettings } from "../render/patterns/LinePattern"; import { RectanglePattern, IRectanglePatternSettings } from "../render/patterns/RectanglePattern"; import { CirclePattern, ICirclePatternSettings } from "../render/patterns/CirclePattern"; import { Entity, IEntitySettings, IEntityPrivate } from "./Entity"; export interface IPatternSetSettings extends IEntitySettings { /** * List of colors in the set. */ patterns?: Pattern[]; /** * A step size when using `next()`. * * E.g. setting to `2` will make it return every second pattern in the list. * * @default 1 */ step?: number; /** * A base color to use for all patterns. * * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info */ color?: Color; /** * Start iterating patterns from specific index. */ startIndex?: number; } export interface IPatternSetPrivate extends IEntityPrivate { /** * Current step. */ currentStep?: number; } /** * An object which holds list of [[Pattern]] objects and can serve them up in * an interative way. * * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Pattern_sets} for more info * @since 5.10.0 */ export declare class PatternSet extends Entity { static className: string; static classNames: Array; _settings: IPatternSetSettings; _privateSettings: IPatternSetPrivate; protected _afterNew(): void; _beforeChanged(): void; /** * Returns a [[Pattern]] at specific index. * * @param index Index * @return Color */ getIndex(index: number): Pattern; /** * Returns next [[Color]] in the list. * * If the list is out of colors, new ones are generated dynamically. */ next(): Pattern; /** * Resets counter to the start of the list, so the next call for `next()` will * return the first pattern. */ reset(): void; /** * Returns a [[LinePattern]. * * @param settings Pattern settings * @return Pattern object */ getLinePattern(settings: ILinePatternSettings): LinePattern; /** * Returns a [[RectanglePattern]. * * @param settings Pattern settings * @return Pattern object */ getRectanglePattern(settings: IRectanglePatternSettings): RectanglePattern; /** * Returns a [[CirclePattern]. * * @param settings Pattern settings * @return Pattern object */ getCirclePattern(settings: ICirclePatternSettings): CirclePattern; } //# sourceMappingURL=PatternSet.d.ts.map