import '../../../assert/js/assert.js';
import '../../../globals.js';
import Vector2 from '../../../dot/js/Vector2.js';
import { Segment } from '../imports.js';
declare const DEFAULT_OPTIONS: {
    lineWidth: number;
    lineCap: string;
    lineJoin: string;
    lineDash: never[];
    lineDashOffset: number;
    miterLimit: number;
};
export type LineCap = 'butt' | 'round' | 'square';
export type LineJoin = 'miter' | 'round' | 'bevel';
export type LineStylesOptions = {
    lineWidth?: number;
    lineCap?: LineCap;
    lineJoin?: LineJoin;
    lineDash?: number[];
    lineDashOffset?: number;
    miterLimit?: number;
};
export default class LineStyles {
    lineWidth: number;
    lineCap: LineCap;
    lineJoin: LineJoin;
    lineDash: number[];
    lineDashOffset: number;
    miterLimit: number;
    constructor(options?: LineStylesOptions);
    /**
     * Determines of this lineStyles is equal to the other LineStyles
     */
    equals(other: LineStyles): boolean;
    /**
     * Returns a copy of this LineStyles.
     */
    copy(): LineStyles;
    /**
     * Creates an array of Segments that make up a line join, to the left side.
     *
     * Joins two segments together on the logical "left" side, at 'center' (where they meet), and un-normalized tangent
     * vectors in the direction of the stroking. To join on the "right" side, switch the tangent order and negate them.
     */
    leftJoin(center: Vector2, fromTangent: Vector2, toTangent: Vector2): Segment[];
    /**
     * Creates an array of Segments that make up a line join, to the right side.
     *
     * Joins two segments together on the logical "right" side, at 'center' (where they meet), and normalized tangent
     * vectors in the direction of the stroking. To join on the "left" side, switch the tangent order and negate them.
     */
    rightJoin(center: Vector2, fromTangent: Vector2, toTangent: Vector2): Segment[];
    /**
     * Creates an array of Segments that make up a line cap from the endpoint 'center' in the direction of the tangent
     */
    cap(center: Vector2, tangent: Vector2): Segment[];
}
export { DEFAULT_OPTIONS as LINE_STYLE_DEFAULT_OPTIONS };
//# sourceMappingURL=LineStyles.d.ts.map