/** * Auto dash pattern configuration. */ export type DashPatternConfig = { /** * Number of dash segments along the full path. */ segments?: number, /** * Drawn ratio of each segment, from 0 to 1. */ drawRatio?: number, }; /** * Dash pattern definition. */ export type DashPatternType = number[] | DashPatternConfig; /** * Dash-pattern configuration methods mixed into path-like geometries. */ export interface IStrokePathConfigMethods { /** * Set stroke dash pattern and optional dash offset. * * @param dashPattern - Dash array or auto dash configuration. * @param dashOffset - Dash offset along the path. * @returns This instance. */ setDashPattern( dashPattern?: DashPatternType, dashOffset?: number ): this; /** * Clear dash pattern and disable dashed stroke. * * @returns This instance. */ clearDashPattern(): this; /** * Enable or disable dashed stroke rendering. * * @param enable - Set to true to enable dashed rendering. * @returns This instance. */ setDashed( enable?: boolean ): this; } /** * Runtime state fields used by dashed stroke rendering. */ export interface IStrokePathState { /** * True if dashed stroke rendering is enabled. */ isDashed: boolean, /** * Current dash pattern definition. */ dashPattern: DashPatternType | undefined, /** * Current dash offset along the path. */ dashOffset: number, } /** * Full stroke-path methods object mixed into path-like geometries. */ export interface IStrokePathMethods extends IStrokePathConfigMethods { /** * Build cached stroke path data based on current dash settings. * * @returns This instance. */ buildStrokePath(): this; } /** * Dash-pattern configuration methods. */ declare const StrokePathConfigMethods: IStrokePathConfigMethods; /** * Full stroke-path methods object. */ declare const StrokePathMethods: IStrokePathMethods; export { StrokePathConfigMethods }; export default StrokePathMethods;