import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _PKInk } from "./PKInk.js";
import type { _PKStrokePath } from "./PKStrokePath.js";
import type { _NSBezierPath } from "../AppKit/NSBezierPath.js";
import type { CGAffineTransform } from "../structs/CGAffineTransform.js";
import type { CGRect } from "../structs/CGRect.js";
import type { PKContentVersion } from "./PKContentVersion.js";
export declare class _PKStroke extends _NSObject {
    static alloc(): _PKStroke;
    static new(): _PKStroke;
    init(): _PKStroke;
    initWithInk$strokePath$transform$mask$(ink: _PKInk, strokePath: _PKStrokePath, transform: CGAffineTransform, mask: _NSBezierPath | null): _PKStroke;
    initWithInk$strokePath$transform$mask$randomSeed$(ink: _PKInk, strokePath: _PKStrokePath, transform: CGAffineTransform, mask: _NSBezierPath | null, randomSeed: number): _PKStroke;
    /** The ink used to render this stroke. */
    ink(): _PKInk;
    /** The affine transform of the stroke when rendered. */
    transform(): CGAffineTransform;
    /** The B-spline path that describes this stroke. */
    path(): _PKStrokePath;
    mask(): _NSBezierPath | null;
    /**
     * The bounds of the rendered stroke. This includes the width & ink of the stroke after the transform is applied.
     */
    renderBounds(): CGRect;
    /**
     * These are the parametric parameter ranges of points in `strokePath` that intersect the stroke's mask.
     */
    maskedPathRanges(): _NSArray;
    /** The random seed for drawing strokes that use randomized effects. */
    randomSeed(): number;
    /** The PencilKit version required to use this stroke. */
    requiredContentVersion(): PKContentVersion;
}
export interface _PKStroke extends _NSCopying {
}
