import { Pattern, IPatternSettings, IPatternPrivate } from "./Pattern";
export interface ILinePatternSettings extends IPatternSettings {
    /**
     * Gap between  lines, in pixels.
     *
     * @default 6
     */
    gap?: number;
    /**
     * Line drawing angle in degrees. For line patterns it's better than using
     * rotation of the whole pattern, allowing smaller pattern sizes.
     *
     * @default 0
     * @since 5.14
     */
    angle?: number;
}
export interface ILinePatternPrivate extends IPatternPrivate {
}
/**
 * Line pattern.
 *
 * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info
 */
export declare class LinePattern extends Pattern {
    _settings: ILinePatternSettings;
    _privateSettings: ILinePatternPrivate;
    static className: string;
    static classNames: Array<string>;
    _beforeChanged(): void;
    /**
     * A line pattern's tile is only a repeat unit, so an oversized `width`/
     * `height` just wastes memory and draw time for an identical result. Shrink
     * it to a few line periods — the minimal seamless tile. Only applies to a
     * fully-repeating pattern; a `gap` of 0 (single line) or a non-`repeat`
     * `repetition` keep the requested size, and the tile is never grown.
     *
     * The shrink is only seamless in the tile's own coordinate space, where the
     * lines are drawn at `angle`. A whole-tile `rotation` transforms the tile
     * externally, so an asymmetric optimal size (e.g. a 4px-wide sliver for the
     * default horizontal lines) no longer tiles once rotated — leaving the
     * requested size intact is what keeps `rotation` seamless. Prefer `angle`.
     * @ignore
     */
    protected _optimizeTileSize(): void;
    protected _draw(): void;
}
//# sourceMappingURL=LinePattern.d.ts.map