export type SvgAbsolutePathCommand = "M" | "L" | "H" | "V" | "Z" | "C" | "S" | "Q" | "T" | "A"; export type SvgRelativePathCommand = Lowercase; export type SvgPathCommand = SvgAbsolutePathCommand | SvgRelativePathCommand; export declare const SVG_ABSOLUTE_PATH_COMMANDS: readonly SvgAbsolutePathCommand[]; export declare const isSvgAbsolutePathCommand: (value: unknown) => value is SvgAbsolutePathCommand; export declare const SVG_RELATIVE_PATH_COMMANDS: readonly SvgRelativePathCommand[]; export declare const isSvgRelativePathCommand: (value: unknown) => value is SvgRelativePathCommand; export declare const SVG_PATH_COMMANDS: readonly SvgPathCommand[]; export declare const isSvgPathCommand: (value: unknown) => value is SvgPathCommand; export interface SvgPathTokenByType { arc: ArcSvgPathToken; close: CloseSvgPathToken; cubic: CubicCurveSvgPathToken; line: LineSvgPathToken; move: MoveSvgPathToken; quad: QuadraticCurveSvgPathToken; } export type SvgPathToken = SvgPathTokenByType[keyof SvgPathTokenByType]; export interface SvgPathTokenBase { type: T; } export interface MoveSvgPathToken extends SvgPathTokenBase<"move"> { delta: boolean; x: number; y: number; } export interface LineSvgPathToken extends SvgPathTokenBase<"line"> { delta: boolean; x: number; y: number; } export interface CloseSvgPathToken extends SvgPathTokenBase<"close"> { } export interface CubicCurveSvgPathToken extends SvgPathTokenBase<"cubic"> { delta: boolean; x: number; x1: number; x2: number; y: number; y1: number; y2: number; } export interface QuadraticCurveSvgPathToken extends SvgPathTokenBase<"quad"> { delta: boolean; x: number; x1: number; y: number; y1: number; } export interface ArcSvgPathToken extends SvgPathTokenBase<"arc"> { delta: boolean; large: boolean; rx: number; ry: number; sweep: boolean; x: number; /** * x-angle rotation, in degrees. */ xar: number; y: number; } export interface SvgPathValueByType { command: CommandSvgPathValue; number: NumberSvgPathValue; space: SpaceSvgPathValue; } export type SvgPathValueType = keyof SvgPathValueByType; export interface SvgPathValueBase { at: number; length: number; type: T; } export type SvgPathValue = SvgPathValueByType[SvgPathValueType]; export interface CommandSvgPathValue extends SvgPathValueBase<"command"> { value: SvgPathCommand; } export interface SpaceSvgPathValue extends SvgPathValueBase<"space"> { value: string; } export interface NumberSvgPathValue extends SvgPathValueBase<"number"> { value: number; } //# sourceMappingURL=svg-path-tokens.d.ts.map