Do not edit this file. It is a report generated by API Extractor.
import { Array as Array_2 } from '@siteimprove/alfa-array';
import { Comparable } from '@siteimprove/alfa-comparable';
import { Comparison } from '@siteimprove/alfa-comparable';
import { Equatable } from '@siteimprove/alfa-equatable';
import { Hash } from '@siteimprove/alfa-hash';
import { Hashable } from '@siteimprove/alfa-hash';
import { Iterable as Iterable_2 } from '@siteimprove/alfa-iterable';
import * as json from '@siteimprove/alfa-json';
import { Mapper } from '@siteimprove/alfa-mapper';
import { Option } from '@siteimprove/alfa-option';
import { Parser } from '@siteimprove/alfa-parser';
import { Predicate } from '@siteimprove/alfa-predicate';
import { Record as Record_2 } from '@siteimprove/alfa-record';
import { Result } from '@siteimprove/alfa-result';
import { Serializable } from '@siteimprove/alfa-json';
import { Slice } from '@siteimprove/alfa-slice';
// @public (undocumented)
export class Angle<U extends Unit.Angle = Unit.Angle> extends Dimension<"angle", Unit.Angle, U> {
// (undocumented)
get canonicalUnit(): "deg";
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
hasUnit<U extends Unit.Angle>(unit: U): this is Angle<U>;
// (undocumented)
static of<U extends Unit.Angle>(value: number, unit: U): Angle<U>;
// (undocumented)
toJSON(): Angle.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "angle";
// (undocumented)
withUnit<U extends Unit.Angle>(unit: U): Angle<U>;
}
// @public (undocumented)
export namespace Angle {
// (undocumented)
export function isAngle(value: unknown): value is Angle;
// (undocumented)
export interface JSON extends Dimension.JSON<"angle"> {
// (undocumented)
unit: Unit.Angle;
}
const // (undocumented)
parse: Parser<Slice<Token>, Angle, string>;
}
// @public (undocumented)
export class Block implements Iterable<Token>, Equatable, Serializable {
// (undocumented)
[Symbol.iterator](): Iterator<Token>;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(token: Block.Open, value: Iterable<Token>): Block;
// (undocumented)
toJSON(): Block.JSON;
// (undocumented)
get token(): Block.Open;
// (undocumented)
toString(): string;
// (undocumented)
get value(): Array<Token>;
}
// @public (undocumented)
export namespace Block {
export type Close = Token.CloseParenthesis | Token.CloseSquareBracket | Token.CloseCurlyBracket;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
token: Token.JSON;
// (undocumented)
value: Array<Token.JSON>;
}
export type Open = Token.OpenParenthesis | Token.OpenSquareBracket | Token.OpenCurlyBracket;
const // (undocumented)
consume: Parser<Slice<Token>, Block>;
}
// @public (undocumented)
export type Box = Keyword<"border-box"> | Keyword<"padding-box"> | Keyword<"content-box">;
// @public (undocumented)
export namespace Box {
// (undocumented)
export type Geometry = Shape | Keyword<"fill-box"> | Keyword<"stroke-box"> | Keyword<"view-box">;
const // (undocumented)
parse: Parser<Slice<Token>, Box, string>;
// (undocumented)
export namespace Geometry {
// (undocumented)
export type JSON = Shape.JSON | Keyword.JSON<"fill-box"> | Keyword.JSON<"stroke-box"> | Keyword.JSON<"view-box">;
}
// (undocumented)
export type JSON = Keyword.JSON<"border-box"> | Keyword.JSON<"padding-box"> | Keyword.JSON<"content-box">;
const // (undocumented)
parseShape: Parser<Slice<Token>, Shape, string>;
// (undocumented)
export type Shape = Box | Keyword<"margin-box">;
// (undocumented)
export namespace Shape {
// (undocumented)
export type JSON = Box.JSON | Keyword.JSON<"margin-box">;
}
const // (undocumented)
parseGeometry: Parser<Slice<Token>, Geometry, string>;
}
// @public (undocumented)
export class Calculation extends Value<"calculation"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get expression(): Calculation.Expression;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of(expression: Calculation.Expression): Calculation;
// (undocumented)
reduce(resolve: Mapper<Numeric>): Calculation;
// (undocumented)
toJSON(): Calculation.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "calculation";
}
// @public (undocumented)
export namespace Calculation {
// (undocumented)
export abstract class Expression implements Equatable, Serializable {
// (undocumented)
abstract equals(value: unknown): value is this;
// (undocumented)
abstract get kind(): Kind;
// (undocumented)
abstract reduce(resolve: Mapper<Numeric>): Expression;
// (undocumented)
toJSON(): Expression.JSON;
// (undocumented)
toLength(): Option<Length>;
// (undocumented)
toPercentage(): Option<Percentage>;
// (undocumented)
abstract toString(): string;
// (undocumented)
abstract get type(): string;
}
// (undocumented)
export namespace Expression {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: string;
}
}
// (undocumented)
export class Invert extends Operation.Unary {
// (undocumented)
get kind(): Kind;
// (undocumented)
static of(operand: Expression): Invert;
// (undocumented)
reduce(resolve: Mapper<Numeric>): Expression;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "invert";
}
// (undocumented)
export function isInvertExpression(expression: Expression): expression is Invert;
// (undocumented)
export function isNegateExpression(expression: Expression): expression is Negate;
// (undocumented)
export function isProductExpression(expression: Expression): expression is Product;
// (undocumented)
export function isSumExpression(expression: Expression): expression is Sum;
// (undocumented)
export function isValueExpression(expression: Expression): expression is Value;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
expression: Expression.JSON;
// (undocumented)
type: "calculation";
}
// (undocumented)
export class Kind implements Equatable, Serializable {
// (undocumented)
add(kind: Kind): Result<Kind, string>;
// (undocumented)
apply(hint: Kind.Hint): Kind;
// (undocumented)
static empty(): Kind;
// (undocumented)
equals(value: this): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get hint(): Option<Kind.Hint>;
// (undocumented)
invert(): Kind;
// (undocumented)
is(kind?: Kind.Base, value?: number, hinted?: boolean): boolean;
// (undocumented)
get kinds(): Kind.Map;
// (undocumented)
multiply(kind: Kind): Result<Kind, string>;
// (undocumented)
static of(kind?: Kind.Base): Kind;
// (undocumented)
toJSON(): Kind.JSON;
}
// (undocumented)
export namespace Kind {
// (undocumented)
export type Base = "length" | "angle" | "time" | "frequency" | "resolution" | "percentage";
// (undocumented)
export type Hint = Exclude<Kind.Base, "percentage">;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
hint: Hint | null;
// (undocumented)
kinds: Array<[Base, number]>;
}
// (undocumented)
export type Map = Record_2<{
[K in Base]: number;
}>;
}
// (undocumented)
export class Negate extends Operation.Unary {
// (undocumented)
static of(operand: Expression): Negate;
// (undocumented)
reduce(resolve: Mapper<Numeric>): Expression;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "negate";
}
// (undocumented)
export abstract class Operation<O extends Array<Expression> = Array<Expression>> extends Expression {
protected constructor(operands: Readonly<O>, kind: Kind);
// (undocumented)
equals(value: this): value is this;
// (undocumented)
get kind(): Kind;
// (undocumented)
protected readonly _kind: Kind;
// (undocumented)
get operands(): Readonly<O>;
// (undocumented)
protected readonly _operands: Readonly<O>;
// (undocumented)
toJSON(): Operation.JSON;
}
// (undocumented)
export namespace Operation {
// (undocumented)
export abstract class Binary extends Operation<[Expression, Expression]> {
protected constructor(operands: [Expression, Expression], kind: Kind);
}
// (undocumented)
export interface JSON extends Expression.JSON {
// (undocumented)
operands: Array<Expression.JSON>;
}
// (undocumented)
export abstract class Unary extends Operation<[Expression]> {
protected constructor(operands: [Expression], kind: Kind);
}
}
// (undocumented)
export class Product extends Operation.Binary {
// (undocumented)
static of(...operands: [Expression, Expression]): Result<Product, string>;
// (undocumented)
reduce(resolve: Mapper<Numeric>): Expression;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "product";
}
// (undocumented)
export class Sum extends Operation.Binary {
// (undocumented)
static of(...operands: [Expression, Expression]): Result<Sum, string>;
// (undocumented)
reduce(resolve: Mapper<Numeric>): Expression;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "sum";
}
// (undocumented)
export class Value extends Expression {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get kind(): Kind;
// (undocumented)
static of(value: Numeric): Value;
// (undocumented)
reduce(resolve: Mapper<Numeric>): Expression;
// (undocumented)
toJSON(): Value.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "value";
// (undocumented)
get value(): Numeric;
}
// (undocumented)
export namespace Value {
// (undocumented)
export interface JSON extends Expression.JSON {
// (undocumented)
type: "value";
// (undocumented)
value: Numeric.JSON;
}
}
const // (undocumented)
parse: Parser<Slice<Token>, Calculation, string, []>;
}
// @public (undocumented)
export class Circle<R extends Radius = Radius, P extends Position = Position> extends Value<"basic-shape"> {
// (undocumented)
get center(): P;
// (undocumented)
equals(value: Circle): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "circle";
// (undocumented)
static of<R extends Radius, P extends Position>(radius: R, center: P): Circle<R, P>;
// (undocumented)
get radius(): R;
// (undocumented)
toJSON(): Circle.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "basic-shape";
}
// @public (undocumented)
export namespace Circle {
// (undocumented)
export function isCircle(value: unknown): value is Circle;
// (undocumented)
export interface JSON extends Value.JSON<"basic-shape"> {
// (undocumented)
center: Position.JSON;
// (undocumented)
kind: "circle";
// (undocumented)
radius: Radius.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, Circle, string>;
}
// @public (undocumented)
export type Color = Hex | Named | HSL | RGB | Current | System;
// @public (undocumented)
export namespace Color {
// (undocumented)
export function hex(value: number): Hex;
const // (undocumented)
current: Current;
// (undocumented)
export function hsl<H extends Number_2 | Angle, A extends Number_2 | Percentage>(hue: H, saturation: Percentage, lightness: Percentage, alpha: A): HSL<H, A>;
// (undocumented)
export function isTransparent(color: Color): boolean;
// (undocumented)
export type JSON = Hex.JSON | Named.JSON | HSL.JSON | RGB.JSON | Keyword.JSON;
// (undocumented)
export function named<C extends Named.Color>(color: C): Named<C>;
// (undocumented)
export function rgb<C extends Number_2 | Percentage, A extends Number_2 | Percentage>(red: C, green: C, blue: C, alpha: A): RGB<C, A>;
const // (undocumented)
parse: Parser<Slice<Token>, Color, string>;
// (undocumented)
export function system(keyword: System.Keyword): System;
}
// @public (undocumented)
export class Component implements Iterable<Token>, Equatable, Serializable {
// (undocumented)
[Symbol.iterator](): Iterator<Token>;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(value: Iterable<Token>): Component;
// (undocumented)
toJSON(): Component.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get value(): Array<Token>;
}
// @public (undocumented)
export namespace Component {
// (undocumented)
export type JSON = Array<Token.JSON>;
const // (undocumented)
consume: Parser<Slice<Token>, Component, string>;
const // (undocumented)
parse: Parser<Slice<Token>, Component, string>;
}
// @public
export type Converter<U extends string> = (value: number, from: U, to: U) => number;
// @public (undocumented)
export namespace Converter {
const // (undocumented)
length: Converter<Unit.Length.Absolute>;
const // (undocumented)
angle: Converter<Unit.Angle>;
const // (undocumented)
time: Converter<Unit.Time>;
const // (undocumented)
frequency: Converter<Unit.Frequency>;
}
// @public
export interface Convertible<U extends string> {
// (undocumented)
withUnit<V extends U>(unit: V): Convertible<V>;
}
// @public (undocumented)
export type Current = Keyword<"currentcolor">;
// @public (undocumented)
export namespace Current {
const // (undocumented)
parse: Parser<Slice<Token>, Current, string>;
}
// @public (undocumented)
export class Declaration implements Iterable<Token>, Equatable, Serializable {
// (undocumented)
[Symbol.iterator](): Iterator<Token>;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get important(): boolean;
// (undocumented)
get name(): string;
// (undocumented)
static of(name: string, value: Iterable<Token>, important?: boolean): Declaration;
// (undocumented)
toJSON(): Declaration.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get value(): Array<Token>;
}
// @public (undocumented)
export namespace Declaration {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
important: boolean;
// (undocumented)
name: string;
// (undocumented)
value: Array<Token.JSON>;
}
const // (undocumented)
consume: Parser<Slice<Token>, Declaration, string>;
const // (undocumented)
parse: Parser<Slice<Token>, Declaration, string>;
const // (undocumented)
consumeList: Parser<Slice<Token>, Iterable<Declaration>, string>;
const // (undocumented)
parseList: Parser<Slice<Token>, Iterable<Declaration>, string>;
}
// @public (undocumented)
export abstract class Dimension<T extends string = string, U extends Unit = Unit, V extends U = U> extends Numeric<T> implements Convertible<U>, Comparable<Dimension<T, U>> {
protected constructor(value: number, unit: V);
// (undocumented)
abstract get canonicalUnit(): U;
// (undocumented)
compare(value: Dimension<T, U>): Comparison;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hasUnit<V extends U>(unit: V): this is Dimension<T, U, V>;
// (undocumented)
get unit(): V;
// (undocumented)
protected readonly _unit: V;
// (undocumented)
abstract withUnit<V extends U>(unit: V): Dimension<T, U, V>;
}
// @public (undocumented)
export namespace Dimension {
// (undocumented)
export function isDimension(value: unknown): value is Dimension;
// (undocumented)
export interface JSON<T extends string = string> extends Numeric.JSON<T> {
// (undocumented)
unit: Unit;
}
}
// @public (undocumented)
export class Ellipse<R extends Radius = Radius, P extends Position = Position> extends Value<"basic-shape"> {
// (undocumented)
get center(): P;
// (undocumented)
equals(value: Ellipse): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "ellipse";
// (undocumented)
static of<R extends Radius = Radius, P extends Position = Position>(rx: R, ry: R, center: P): Ellipse<R, P>;
// (undocumented)
get rx(): R;
// (undocumented)
get ry(): R;
// (undocumented)
toJSON(): Ellipse.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "basic-shape";
}
// @public (undocumented)
export namespace Ellipse {
// (undocumented)
export function isEllipse(value: unknown): value is Ellipse;
// (undocumented)
export interface JSON extends Value.JSON<"basic-shape"> {
// (undocumented)
center: Position.JSON;
// (undocumented)
kind: "ellipse";
// (undocumented)
rx: Radius.JSON;
// (undocumented)
ry: Radius.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, Ellipse, string>;
}
// @public (undocumented)
class Function_2 implements Iterable<Token>, Equatable, Serializable {
// (undocumented)
[Symbol.iterator](): Iterator<Token>;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get name(): string;
// (undocumented)
static of(name: string, value: Iterable<Token>): Function_2;
// (undocumented)
toJSON(): Function_2.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get value(): Array<Token>;
}
// @public (undocumented)
namespace Function_2 {
// (undocumented)
interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
name: string;
// (undocumented)
value: Array<Token.JSON>;
}
const // (undocumented)
consume: Parser<Slice<Token>, Function_2>;
const // (undocumented)
parse: <T>(name?: string | undefined, body?: Parser<Slice<Token>, T, string, []> | undefined) => Parser<Slice<Token>, readonly [Function_2, T], string, []>;
}
export { Function_2 as Function }
// @public (undocumented)
export type Gradient = Linear | Radial;
// @public (undocumented)
export namespace Gradient {
// (undocumented)
export class Hint<P extends Length | Percentage = Length | Percentage> implements Equatable, Hashable, Serializable {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of<P extends Length | Percentage>(position: P): Hint<P>;
// (undocumented)
get position(): P;
// (undocumented)
toJSON(): Hint.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "hint";
}
// (undocumented)
export namespace Hint {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
position: Length.JSON | Percentage.JSON;
// (undocumented)
type: "hint";
}
}
// (undocumented)
export type Item = Stop | Hint;
const // (undocumented)
parseStop: Parser<Slice<Token>, Stop, string>;
// (undocumented)
export namespace Item {
// (undocumented)
export type JSON = Stop.JSON | Hint.JSON;
}
// (undocumented)
export type JSON = Linear.JSON | Radial.JSON;
const // (undocumented)
parseHint: Parser<Slice<Token>, Hint, string>;
// (undocumented)
export class Stop<C extends Color = Color, P extends Length | Percentage = Length | Percentage> implements Equatable, Hashable, Serializable {
// (undocumented)
get color(): C;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of<C extends Color, P extends Length | Percentage>(color: C, position?: Option<P>): Stop<C, P>;
// (undocumented)
get position(): Option<P>;
// (undocumented)
toJSON(): Stop.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "stop";
}
// (undocumented)
export namespace Stop {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
color: Color.JSON;
// (undocumented)
position: Length.JSON | Percentage.JSON | null;
// (undocumented)
type: "stop";
}
}
const // (undocumented)
parseItem: Parser<Slice<Token>, Item, string>;
const // (undocumented)
parseItemList: Parser<Slice<Token>, Array<Item>, string>;
const // (undocumented)
parse: Parser<Slice<Token>, Gradient, string>;
}
// @public (undocumented)
export class Hex extends Value<"color"> {
// (undocumented)
get alpha(): Number_2;
// (undocumented)
get blue(): Number_2;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get format(): "hex";
// (undocumented)
get green(): Number_2;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of(value: number): Hex;
// (undocumented)
get red(): Number_2;
// (undocumented)
toJSON(): Hex.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "color";
// (undocumented)
get value(): number;
}
// @public (undocumented)
export namespace Hex {
// (undocumented)
export function isHex(value: unknown): value is Hex;
// (undocumented)
export interface JSON extends Value.JSON<"color"> {
// (undocumented)
format: "hex";
// (undocumented)
value: number;
}
const // (undocumented)
parse: Parser<Slice<Token>, Hex, string>;
}
// @public (undocumented)
export class HSL<H extends Number_2 | Angle = Number_2 | Angle, A extends Number_2 | Percentage = Number_2 | Percentage> extends Value<"color"> {
// (undocumented)
get alpha(): A;
// (undocumented)
get blue(): Percentage;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get format(): "hsl";
// (undocumented)
get green(): Percentage;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get hue(): H;
// (undocumented)
get lightness(): Percentage;
// (undocumented)
static of<H extends Number_2 | Angle, A extends Number_2 | Percentage>(hue: H, saturation: Percentage, lightness: Percentage, alpha: A): HSL<H, A>;
// (undocumented)
get red(): Percentage;
// (undocumented)
get saturation(): Percentage;
// (undocumented)
toJSON(): HSL.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "color";
}
// @public (undocumented)
export namespace HSL {
// (undocumented)
export function isHSL<H extends Number_2 | Angle, A extends Number_2 | Percentage>(value: unknown): value is HSL<H, A>;
// (undocumented)
export interface JSON extends Value.JSON<"color"> {
// (undocumented)
alpha: Number_2.JSON | Percentage.JSON;
// (undocumented)
format: "hsl";
// (undocumented)
hue: Number_2.JSON | Angle.JSON;
// (undocumented)
lightness: Percentage.JSON;
// (undocumented)
saturation: Percentage.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, HSL, string>;
}
// @public (undocumented)
export class Image<I extends URL | Gradient = URL | Gradient> extends Value<"image"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get image(): I;
// (undocumented)
static of<I extends URL | Gradient>(image: I): Image<I>;
// (undocumented)
toJSON(): Image.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "image";
}
// @public (undocumented)
export namespace Image {
// (undocumented)
export function isImage<I extends URL | Gradient>(value: unknown): value is Image<I>;
// (undocumented)
export interface JSON extends Value.JSON<"image"> {
// (undocumented)
image: URL.JSON | Gradient.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, Image, string>;
}
// @public (undocumented)
export class Inset<O extends Inset.Offset = Inset.Offset, C extends Inset.Corner = Inset.Corner> extends Value<"basic-shape"> {
// (undocumented)
get bottom(): O;
// (undocumented)
get bottomLeft(): Option<C>;
// (undocumented)
get bottomRight(): Option<C>;
// (undocumented)
get corners(): Option<readonly [C, C, C, C]>;
// (undocumented)
equals(value: Inset): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "inset";
// (undocumented)
get left(): O;
// (undocumented)
static of<O extends Inset.Offset = Inset.Offset, C extends Inset.Corner = Inset.Corner>(offsets: readonly [O, O, O, O], corners: Option<readonly [C, C, C, C]>): Inset<O, C>;
// (undocumented)
get offsets(): readonly [O, O, O, O];
// (undocumented)
get right(): O;
// (undocumented)
toJSON(): Inset.JSON<O, C>;
// (undocumented)
get top(): O;
// (undocumented)
get topLeft(): Option<C>;
// (undocumented)
get topRight(): Option<C>;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "basic-shape";
}
// @public (undocumented)
export namespace Inset {
// (undocumented)
export type Corner = Radius | readonly [Radius, Radius];
// (undocumented)
export interface JSON<O extends Offset = Offset, C extends Corner = Corner> extends Value.JSON<"basic-shape"> {
// (undocumented)
corners: Option.JSON<readonly [C, C, C, C]>;
// (undocumented)
kind: "inset";
// (undocumented)
offsets: Serializable.ToJSON<readonly [O, O, O, O]>;
}
// (undocumented)
export type Offset = Length | Percentage;
// (undocumented)
export type Radius = Length | Percentage;
const // (undocumented)
parse: Parser<Slice<Token>, Inset, string>;
}
// @public (undocumented)
export class Integer extends Numeric<"integer"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of(value: number): Integer;
// (undocumented)
toJSON(): Integer.JSON;
// (undocumented)
get type(): "integer";
}
// @public (undocumented)
export namespace Integer {
// (undocumented)
export function isInteger(value: unknown): value is Integer;
// (undocumented)
export interface JSON extends Numeric.JSON<"integer"> {
// (undocumented)
value: number;
}
const // (undocumented)
parse: Parser<Slice<Token>, Integer, string>;
}
// @public (undocumented)
export class Keyword<T extends string = string> extends Value<"keyword"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of<T extends string>(value: T): Keyword<T>;
// (undocumented)
toJSON(): Keyword.JSON<T>;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "keyword";
// (undocumented)
get value(): T;
}
// @public (undocumented)
export namespace Keyword {
// (undocumented)
export function isKeyword(value: unknown): value is Keyword;
// (undocumented)
export interface JSON<T extends string = string> extends Value.JSON<"keyword"> {
// (undocumented)
value: T;
}
// (undocumented)
export function parse<T extends string>(...keywords: Array<T>): Parser<Slice<Token>, {
[K in T]: Keyword<K>;
}[T], string>;
}
// @public (undocumented)
export class Length<U extends Unit.Length = Unit.Length> extends Dimension<"length", Unit.Length, U> implements Convertible<Unit.Length.Absolute> {
// (undocumented)
get canonicalUnit(): "px";
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
hasUnit<U extends Unit.Length>(unit: U): this is Length<U>;
// (undocumented)
isAbsolute(): this is Length<Unit.Length.Absolute>;
// (undocumented)
isFontRelative(): this is Length<Unit.Length.Relative.Font>;
// (undocumented)
isRelative(): this is Length<Unit.Length.Relative>;
// (undocumented)
isViewportRelative(): this is Length<Unit.Length.Relative.Viewport>;
// (undocumented)
static of<U extends Unit.Length>(value: number, unit: U): Length<U>;
// (undocumented)
toJSON(): Length.JSON<U>;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "length";
// (undocumented)
withUnit<U extends Unit.Length>(unit: U): Length<U>;
}
// @public (undocumented)
export namespace Length {
// (undocumented)
export function isLength(value: unknown): value is Length;
// (undocumented)
export function isZero(length: Length): boolean;
const // (undocumented)
parse: Parser<Slice<Token>, Length, string>;
// (undocumented)
export interface JSON<U extends Unit.Length = Unit.Length> extends Dimension.JSON<"length"> {
// (undocumented)
unit: U;
}
}
// @public (undocumented)
export namespace Lexer {
// (undocumented)
export function lex(input: string): Slice<Token>;
}
// @public (undocumented)
export class Linear<I extends Gradient.Item = Gradient.Item, D extends Linear.Direction = Linear.Direction> extends Value<"gradient"> {
// (undocumented)
get direction(): D;
// (undocumented)
equals(value: Linear): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get items(): Iterable<I>;
// (undocumented)
get kind(): "linear";
// (undocumented)
static of<I extends Gradient.Item, D extends Linear.Direction>(direction: D, items: Iterable<I>, repeats: boolean): Linear<I, D>;
// (undocumented)
get repeats(): boolean;
// (undocumented)
toJSON(): Linear.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "gradient";
}
// @public (undocumented)
export namespace Linear {
// (undocumented)
export class Corner implements Equatable, Serializable {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get horizontal(): Position.Horizontal;
// (undocumented)
static of(vertical: Position.Vertical, horizontal: Position.Horizontal): Corner;
// (undocumented)
toJSON(): Corner.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "corner";
// (undocumented)
get vertical(): Position.Vertical;
}
// (undocumented)
export namespace Corner {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
horizontal: Position.Horizontal;
// (undocumented)
type: "corner";
// (undocumented)
vertical: Position.Vertical;
}
}
// (undocumented)
export type Direction = Angle | Side | Corner;
// (undocumented)
export namespace Direction {
// (undocumented)
export type JSON = Angle.JSON | Side.JSON | Corner.JSON;
}
// (undocumented)
export interface JSON extends Value.JSON<"gradient"> {
// (undocumented)
direction: Direction.JSON;
// (undocumented)
items: Array<Gradient.Item.JSON>;
// (undocumented)
kind: "linear";
// (undocumented)
repeats: boolean;
}
// (undocumented)
export type Position = Position.Vertical | Position.Horizontal;
// (undocumented)
export namespace Position {
// (undocumented)
export type Horizontal = "left" | "right";
// (undocumented)
export type Vertical = "top" | "bottom";
const // (undocumented)
parseVertical: Parser<Slice<Token>, Vertical, string, []>;
const // (undocumented)
parseHorizontal: Parser<Slice<Token>, Horizontal, string, []>;
const // (undocumented)
parse: Parser<Slice<Token>, Vertical | Horizontal, string, []>;
}
// (undocumented)
export class Side implements Equatable, Hashable, Serializable {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of(side: Position.Vertical | Position.Horizontal): Side;
// (undocumented)
get side(): Position.Vertical | Position.Horizontal;
// (undocumented)
toJSON(): Side.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "side";
}
// (undocumented)
export namespace Side {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
side: Position.Vertical | Position.Horizontal;
// (undocumented)
type: "side";
}
}
const // (undocumented)
parse: Parser<Slice<Token>, Linear, string>;
}
// @public (undocumented)
export class Matrix extends Value<"transform"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "matrix";
// (undocumented)
static of(...values: Matrix.Values<Number_2>): Matrix;
// (undocumented)
toJSON(): Matrix.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "transform";
// (undocumented)
get values(): Matrix.Values<Number_2>;
}
// @public (undocumented)
export namespace Matrix {
// (undocumented)
export function isMatrix(value: unknown): value is Matrix;
// (undocumented)
export interface JSON extends Value.JSON<"transform"> {
// (undocumented)
kind: "matrix";
// (undocumented)
values: Values<Number_2.JSON>;
}
// (undocumented)
export type Values<T> = [
[
T,
T,
T,
T
],
[
T,
T,
T,
T
],
[
T,
T,
T,
T
],
[
T,
T,
T,
T
]
];
const // (undocumented)
parse: Parser<Slice<Token>, Matrix, string>;
}
// @public (undocumented)
export class Named<C extends Named.Color = Named.Color> extends Value<"color"> {
// (undocumented)
get alpha(): Number_2;
// (undocumented)
get blue(): Number_2;
// (undocumented)
get color(): C;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get format(): "named";
// (undocumented)
get green(): Number_2;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of<C extends Named.Color>(color: C): Named<C>;
// (undocumented)
get red(): Number_2;
// (undocumented)
toJSON(): Named.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "color";
// (undocumented)
get value(): number;
}
// @public (undocumented)
export namespace Named {
// Warning: (ae-forgotten-export) The symbol "Colors" needs to be exported by the entry point index.d.ts
//
// (undocumented)
export type Color = keyof Colors;
// (undocumented)
export interface JSON extends Value.JSON<"color"> {
// (undocumented)
color: string;
// (undocumented)
format: "named";
}
const // (undocumented)
parse: Parser<Slice<Token>, Named, string>;
}
// @public (undocumented)
export class Nth implements Iterable<Token>, Equatable, Serializable {
// (undocumented)
[Symbol.iterator](): Iterator<Token>;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
for(n: number): number;
// (undocumented)
indices(): Iterable<number>;
matches(index: number): boolean;
// (undocumented)
static of(step: number, offset?: number): Nth;
// (undocumented)
get offset(): number;
// (undocumented)
get step(): number;
// (undocumented)
toJSON(): Nth.JSON;
// (undocumented)
toString(): string;
}
// @public (undocumented)
export namespace Nth {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
offset: number;
// (undocumented)
step: number;
}
const // (undocumented)
parse: Parser<Slice<Token>, Nth, string>;
}
// @public (undocumented)
class Number_2 extends Numeric<"number"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(value: number): Number_2;
// (undocumented)
toJSON(): Number_2.JSON;
// (undocumented)
get type(): "number";
}
// @public (undocumented)
namespace Number_2 {
// (undocumented)
function isNumber(value: unknown): value is Number_2;
// (undocumented)
interface JSON extends Numeric.JSON<"number"> {
// (undocumented)
value: number;
}
const // (undocumented)
parseZero: Parser<Slice<Token>, Number_2, string>;
const // (undocumented)
parse: Parser<Slice<Token>, Number_2, string>;
}
export { Number_2 as Number }
// @public (undocumented)
export abstract class Numeric<T extends string = string> extends Value<T> implements Comparable<Numeric<T>> {
protected constructor(value: number);
// (undocumented)
compare(value: Numeric<T>): Comparison;
static readonly Decimals = 7;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
abstract toJSON(): Numeric.JSON<T>;
// (undocumented)
toString(): string;
// (undocumented)
get value(): number;
// (undocumented)
protected readonly _value: number;
}
// @public (undocumented)
export namespace Numeric {
// (undocumented)
export function isNumeric(value: unknown): value is Numeric;
// (undocumented)
export interface JSON<T extends string = string> extends Value.JSON<T> {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
value: number;
}
}
// @public (undocumented)
export class Percentage extends Numeric<"percentage"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(value: number): Percentage;
// (undocumented)
toJSON(): Percentage.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "percentage";
}
// @public (undocumented)
export namespace Percentage {
// (undocumented)
export function isPercentage(value: unknown): value is Percentage;
// (undocumented)
export interface JSON extends Numeric.JSON<"percentage"> {
// (undocumented)
value: number;
}
const // (undocumented)
parse: Parser<Slice<Token>, Percentage, string>;
}
// @public (undocumented)
export class Perspective<D extends Length = Length> extends Value<"transform"> {
// (undocumented)
get depth(): D;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "perspective";
// (undocumented)
static of<D extends Length>(depth: D): Perspective<D>;
// (undocumented)
toJSON(): Perspective.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "transform";
}
// @public (undocumented)
export namespace Perspective {
// (undocumented)
export function isPerspective<D extends Length>(value: unknown): value is Perspective<D>;
// (undocumented)
export interface JSON extends Value.JSON<"transform"> {
// (undocumented)
depth: Length.JSON;
// (undocumented)
kind: "perspective";
}
const // (undocumented)
parse: Parser<Slice<Token>, Perspective, string>;
}
// @public (undocumented)
export class Polygon<F extends Polygon.Fill = Polygon.Fill, V extends Length | Percentage = Length | Percentage> extends Value<"basic-shape"> {
// (undocumented)
equals(value: Polygon): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get fill(): Option<F>;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "polygon";
// (undocumented)
static of<F extends Polygon.Fill = Polygon.Fill, V extends Length | Percentage = Length | Percentage>(fill: Option<F>, vertices: Iterable_2<Polygon.Vertex<V>>): Polygon<F, V>;
// (undocumented)
toJSON(): Polygon.JSON<F, V>;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "basic-shape";
// (undocumented)
get vertices(): ReadonlyArray<Polygon.Vertex<V>>;
}
// @public (undocumented)
export namespace Polygon {
// (undocumented)
export type Fill = Keyword<"nonzero"> | Keyword<"evenodd">;
// (undocumented)
export interface JSON<F extends Fill = Fill, V extends Length | Percentage = Length | Percentage> extends Value.JSON<"basic-shape"> {
// (undocumented)
fill: Option.JSON<F>;
// (undocumented)
kind: "polygon";
// (undocumented)
vertices: Array_2<Serializable.ToJSON<Vertex<V>>>;
}
// (undocumented)
export type Vertex<V extends Length | Percentage = Length | Percentage> = readonly [V, V];
const // (undocumented)
parse: Parser<Slice<Token>, Polygon, string>;
}
// @public (undocumented)
export class Position<H extends Position.Component<Position.Horizontal> = Position.Component<Position.Horizontal>, V extends Position.Component<Position.Vertical> = Position.Component<Position.Vertical>> extends Value<"position"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get horizontal(): H;
// (undocumented)
static of<H extends Position.Component<Position.Horizontal>, V extends Position.Component<Position.Vertical>>(horizontal: H, vertical: V): Position<H, V>;
// (undocumented)
toJSON(): Position.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "position";
// (undocumented)
get vertical(): V;
}
// @public (undocumented)
export namespace Position {
// (undocumented)
export type Center = Keyword<"center">;
// (undocumented)
export type Component<S extends Horizontal | Vertical = Horizontal | Vertical, U extends Unit.Length = Unit.Length> = Center | Offset<U> | Side<S, Offset<U>>;
const // (undocumented)
parseCenter: Parser<Slice<Token>, Keyword<"center">, string, []>;
// (undocumented)
export namespace Component {
// (undocumented)
export namespace Horizontal {
const // (undocumented)
parseKeyword: Parser<Slice<Token>, Keyword<"center"> | Side<Keyword<"left"> | Keyword<"right">, Offset<Unit.Length>>, string, []>;
const // (undocumented)
parseKeywordValue: Parser<Slice<Token>, Side<Keyword<"left"> | Keyword<"right">, Length<Unit.Length> | Percentage>, string, []>;
const // (undocumented)
parse: Parser<Slice<Token>, Component<Horizontal, Unit.Length>, string, []>;
}
const // (undocumented)
parseValue: Parser<Slice<Token>, Length<Unit.Length> | Percentage, string, []>;
// (undocumented)
export type JSON = Keyword.JSON | Length.JSON | Percentage.JSON | Side.JSON;
// (undocumented)
export namespace Vertical {
const // (undocumented)
parseKeyword: Parser<Slice<Token>, Keyword<"center"> | Side<Keyword<"top"> | Keyword<"bottom">, Offset<Unit.Length>>, string, []>;
const // (undocumented)
parseKeywordValue: Parser<Slice<Token>, Side<Keyword<"top"> | Keyword<"bottom">, Length<Unit.Length> | Percentage>, string, []>;
const // (undocumented)
parse: Parser<Slice<Token>, Component<Vertical, Unit.Length>, string, []>;
}
}
const // (undocumented)
parseVertical: Parser<Slice<Token>, Keyword<"top"> | Keyword<"bottom">, string, []>;
// (undocumented)
export type Horizontal = Keyword<"left"> | Keyword<"right">;
const // (undocumented)
parseHorizontal: Parser<Slice<Token>, Keyword<"left"> | Keyword<"right">, string, []>;
// (undocumented)
export interface JSON extends Value.JSON<"position"> {
// (undocumented)
horizontal: Component.JSON;
// (undocumented)
vertical: Component.JSON;
}
// (undocumented)
export type Offset<U extends Unit.Length = Unit.Length> = Length<U> | Percentage;
// (undocumented)
export function parse(legacySyntax?: boolean): Parser<Slice<Token>, Position, string>;
// (undocumented)
export class Side<S extends Vertical | Horizontal = Vertical | Horizontal, O extends Offset = Offset> extends Value<"side"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
isCenter(): boolean;
// (undocumented)
static of<S extends Vertical | Horizontal, O extends Offset>(side: S, offset?: Option<O>): Side<S, O>;
// (undocumented)
get offset(): Option<O>;
// (undocumented)
get side(): S;
// (undocumented)
toJSON(): Side.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "side";
}
// (undocumented)
export namespace Side {
// (undocumented)
export interface JSON extends Value.JSON<"side"> {
// (undocumented)
offset: Length.JSON | Percentage.JSON | null;
// (undocumented)
side: Keyword.JSON;
}
}
// (undocumented)
export type Vertical = Keyword<"top"> | Keyword<"bottom">;
}
// @public (undocumented)
export class Radial<I extends Gradient.Item = Gradient.Item, S extends Radial.Shape = Radial.Shape, P extends Position = Position> extends Value<"gradient"> {
// (undocumented)
equals(value: Radial): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get items(): Iterable<I>;
// (undocumented)
get kind(): "radial";
// (undocumented)
static of<I extends Gradient.Item = Gradient.Item, S extends Radial.Shape = Radial.Shape, P extends Position = Position>(shape: S, position: P, items: Iterable<I>, repeats: boolean): Radial<I, S, P>;
// (undocumented)
get position(): P;
// (undocumented)
get repeats(): boolean;
// (undocumented)
get shape(): S;
// (undocumented)
toJSON(): Radial.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "gradient";
}
// @public (undocumented)
export namespace Radial {
// (undocumented)
export class Circle<R extends Length = Length> implements Equatable, Hashable, Serializable<Circle.JSON> {
// (undocumented)
equals(value: Circle): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of<R extends Length>(radius: R): Circle<R>;
// (undocumented)
get radius(): R;
// (undocumented)
toJSON(): Circle.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "circle";
}
// (undocumented)
export namespace Circle {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
radius: Length.JSON;
// (undocumented)
type: "circle";
}
}
// (undocumented)
export class Ellipse<R extends Length | Percentage = Length | Percentage> implements Equatable, Hashable, Serializable<Ellipse.JSON> {
// (undocumented)
equals(value: Ellipse): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get horizontal(): R;
// (undocumented)
static of<R extends Length | Percentage>(horizontal: R, vertical: R): Ellipse<R>;
// (undocumented)
toJSON(): Ellipse.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "ellipse";
// (undocumented)
get vertical(): R;
}
// (undocumented)
export namespace Ellipse {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
horizontal: Length.JSON | Percentage.JSON;
// (undocumented)
type: "ellipse";
// (undocumented)
vertical: Length.JSON | Percentage.JSON;
}
}
// (undocumented)
export class Extent implements Equatable, Hashable, Serializable<Extent.JSON> {
// (undocumented)
equals(value: Extent): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of(shape?: Extent.Shape, size?: Extent.Size): Extent;
// (undocumented)
get shape(): Extent.Shape;
// (undocumented)
get size(): Extent.Size;
// (undocumented)
toJSON(): Extent.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "extent";
}
// (undocumented)
export namespace Extent {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
shape: `${Shape}`;
// (undocumented)
size: `${Size}`;
// (undocumented)
type: "extent";
}
// (undocumented)
export enum Shape {
// (undocumented)
Circle = "circle",
// (undocumented)
Ellipse = "ellipse"
}
// (undocumented)
export enum Size {
// (undocumented)
ClosestCorner = "closest-corner",
// (undocumented)
ClosestSide = "closest-side",
// (undocumented)
FarthestCorner = "farthest-corner",
// (undocumented)
FarthestSide = "farthest-side"
}
}
// (undocumented)
export interface JSON extends Value.JSON<"gradient"> {
// (undocumented)
items: Array<Gradient.Item.JSON>;
// (undocumented)
kind: "radial";
// (undocumented)
position: Position.JSON;
// (undocumented)
repeats: boolean;
// (undocumented)
shape: Shape.JSON;
}
// (undocumented)
export type Shape = Circle | Ellipse | Extent;
// (undocumented)
export namespace Shape {
// (undocumented)
export type JSON = Circle.JSON | Ellipse.JSON | Extent.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, Radial, string>;
}
// @public (undocumented)
export class Radius<R extends Length | Percentage | Radius.Side = Length | Percentage | Radius.Side> extends Value<"basic-shape"> {
// (undocumented)
equals(value: Radius): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "radius";
// (undocumented)
static of<R extends Length | Percentage | Radius.Side>(value: R): Radius<R>;
// (undocumented)
toJSON(): Radius.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "basic-shape";
// (undocumented)
get value(): R;
}
// @public (undocumented)
export namespace Radius {
// (undocumented)
export function isRadius(value: unknown): value is Radius;
// (undocumented)
export interface JSON extends Value.JSON<"basic-shape"> {
// (undocumented)
kind: "radius";
// (undocumented)
value: Length.JSON | Percentage.JSON | Keyword.JSON;
}
// (undocumented)
export type Side = Side.Closest | Side.Farthest;
// (undocumented)
export namespace Side {
// (undocumented)
export type Closest = Keyword<"closest-side">;
// (undocumented)
export type Farthest = Keyword<"farthest-side">;
}
const // (undocumented)
parse: Parser<Slice<Token>, Radius, string>;
}
// @public @deprecated (undocumented)
export class Rectangle<O extends Length | Rectangle.Auto = Length | Rectangle.Auto> extends Value<"basic-shape"> {
// (undocumented)
get bottom(): O;
// (undocumented)
readonly _bottom: O;
// (undocumented)
equals(value: Rectangle): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "rectangle";
// (undocumented)
get left(): O;
// (undocumented)
readonly _left: O;
// (undocumented)
static of<O extends Length | Rectangle.Auto = Length | Rectangle.Auto>(top: O, right: O, bottom: O, left: O): Rectangle<O>;
// (undocumented)
get right(): O;
// (undocumented)
readonly _right: O;
// (undocumented)
toJSON(): Rectangle.JSON;
// (undocumented)
get top(): O;
// (undocumented)
readonly _top: O;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "basic-shape";
}
// @public @deprecated (undocumented)
export namespace Rectangle {
// (undocumented)
export type Auto = Keyword<"auto">;
// (undocumented)
export function isRectangle(value: unknown): value is Rectangle;
// (undocumented)
export interface JSON extends Value.JSON<"basic-shape"> {
// (undocumented)
bottom: Length.JSON | Keyword.JSON;
// (undocumented)
kind: "rectangle";
// (undocumented)
left: Length.JSON | Keyword.JSON;
// (undocumented)
right: Length.JSON | Keyword.JSON;
// (undocumented)
top: Length.JSON | Keyword.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, Rectangle, string>;
}
// @public (undocumented)
export class RGB<C extends Number_2 | Percentage = Number_2 | Percentage, A extends Number_2 | Percentage = Number_2 | Percentage> extends Value<"color"> {
// (undocumented)
get alpha(): A;
// (undocumented)
get blue(): C;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get format(): "rgb";
// (undocumented)
get green(): C;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of<C extends Number_2 | Percentage, A extends Number_2 | Percentage>(red: C, green: C, blue: C, alpha: A): RGB<C, A>;
// (undocumented)
get red(): C;
// (undocumented)
toJSON(): RGB.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "color";
}
// @public (undocumented)
export namespace RGB {
// (undocumented)
export function isRGB<C extends Number_2 | Percentage, A extends Number_2 | Percentage>(value: unknown): value is RGB<C, A>;
// (undocumented)
export interface JSON extends Value.JSON<"color"> {
// (undocumented)
alpha: Number_2.JSON | Percentage.JSON;
// (undocumented)
blue: Number_2.JSON | Percentage.JSON;
// (undocumented)
format: "rgb";
// (undocumented)
green: Number_2.JSON | Percentage.JSON;
// (undocumented)
red: Number_2.JSON | Percentage.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, RGB, string>;
}
// @public (undocumented)
export class Rotate<A extends Angle = Angle> extends Value<"transform"> {
// (undocumented)
get angle(): A;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "rotate";
// (undocumented)
static of<A extends Angle>(x: Number_2, y: Number_2, z: Number_2, angle: A): Rotate<A>;
// (undocumented)
toJSON(): Rotate.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "transform";
// (undocumented)
get x(): Number_2;
// (undocumented)
get y(): Number_2;
// (undocumented)
get z(): Number_2;
}
// @public (undocumented)
export namespace Rotate {
// (undocumented)
export function isRotate<A extends Angle>(value: unknown): value is Rotate<A>;
// (undocumented)
export interface JSON extends Value.JSON<"transform"> {
// (undocumented)
angle: Angle.JSON;
// (undocumented)
kind: "rotate";
// (undocumented)
x: Number_2.JSON;
// (undocumented)
y: Number_2.JSON;
// (undocumented)
z: Number_2.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, Rotate, string>;
}
// @public (undocumented)
export class Scale extends Value<"transform"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "scale";
// (undocumented)
static of(x: Number_2, y: Number_2): Scale;
// (undocumented)
toJSON(): Scale.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "transform";
// (undocumented)
get x(): Number_2;
// (undocumented)
get y(): Number_2;
}
// @public (undocumented)
export namespace Scale {
// (undocumented)
export function isScale(value: unknown): value is Scale;
// (undocumented)
export interface JSON extends Value.JSON<"transform"> {
// (undocumented)
kind: "scale";
// (undocumented)
x: Number_2.JSON;
// (undocumented)
y: Number_2.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, Scale, string>;
}
// @public (undocumented)
export class Shadow<H extends Length = Length, V extends Length = H, B extends Length = Length, S extends Length = Length, C extends Color = Color> extends Value<"shadow"> {
// (undocumented)
get blur(): B;
// (undocumented)
get color(): C;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get horizontal(): H;
// (undocumented)
get isInset(): boolean;
// (undocumented)
static of<H extends Length = Length, V extends Length = H, B extends Length = Length, S extends Length = Length, C extends Color = Color>(horizontal: H, vertical: V, blur: B, spread: S, color: C, isInset: boolean): Shadow<H, V, B, S, C>;
// (undocumented)
get spread(): S;
// (undocumented)
toJSON(): Shadow.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "shadow";
// (undocumented)
get vertical(): V;
}
// @public (undocumented)
export namespace Shadow {
// (undocumented)
export interface JSON extends Value.JSON<"shadow"> {
// (undocumented)
blur: Length.JSON;
// (undocumented)
color: Color.JSON;
// (undocumented)
horizontal: Length.JSON;
// (undocumented)
isInset: boolean;
// (undocumented)
spread: Length.JSON;
// (undocumented)
vertical: Length.JSON;
}
}
// @public (undocumented)
export class Shape<S extends Shape.Basic = Shape.Basic, B extends Box.Geometry = Box.Geometry> extends Value<"shape"> {
// (undocumented)
get box(): B;
// (undocumented)
equals(value: Shape): boolean;
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of<S extends Shape.Basic = Shape.Basic, B extends Box.Geometry = Box.Geometry>(shape: S, box: B): Shape<S, B>;
// (undocumented)
get shape(): S;
// (undocumented)
toJSON(): Shape.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "shape";
}
// @public (undocumented)
export namespace Shape {
// (undocumented)
export type Basic = Circle | Ellipse | Inset | Polygon | Rectangle;
// (undocumented)
export interface JSON extends Value.JSON<"shape"> {
// (undocumented)
box: Box.Geometry.JSON;
// (undocumented)
shape: Circle.JSON | Ellipse.JSON | Inset.JSON | Polygon.JSON | Rectangle.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, Shape<Circle | Ellipse | Inset | Polygon>, string>;
}
// @public (undocumented)
export class Skew<X extends Angle = Angle, Y extends Angle = Angle> extends Value<"transform"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "skew";
// (undocumented)
static of<X extends Angle, Y extends Angle>(x: X, y: Y): Skew<X, Y>;
// (undocumented)
toJSON(): Skew.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "transform";
// (undocumented)
get x(): X;
// (undocumented)
get y(): Y;
}
// @public (undocumented)
export namespace Skew {
// (undocumented)
export function isSkew<X extends Angle, Y extends Angle>(value: unknown): value is Skew<X, Y>;
// (undocumented)
export interface JSON extends Value.JSON<"transform"> {
// (undocumented)
kind: "skew";
// (undocumented)
x: Angle.JSON;
// (undocumented)
y: Angle.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, Skew, string>;
}
// @public (undocumented)
class String_2 extends Value<"string"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of(value: string): String_2;
// (undocumented)
toJSON(): String_2.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "string";
// (undocumented)
get value(): string;
}
// @public (undocumented)
namespace String_2 {
// (undocumented)
function isString(value: unknown): value is String_2;
// (undocumented)
interface JSON extends Value.JSON<"string"> {
// (undocumented)
value: string;
}
const // (undocumented)
parse: Parser<Slice<Token>, String_2, string>;
}
export { String_2 as String }
// @public (undocumented)
export type System = Keyword<System.Keyword>;
// @public (undocumented)
export namespace System {
// (undocumented)
export type Keyword = "canvas" | "canvastext" | "linktext" | "visitedtext" | "activetext" | "buttonface" | "buttontext" | "field" | "fieldtext" | "highlight" | "highlighttext" | "graytext";
const // (undocumented)
parse: Parser<Slice<Token>, System, string>;
}
// @public (undocumented)
export type Token = Token.Ident | Token.Function | Token.AtKeyword | Token.Hash | Token.String | Token.URL | Token.BadURL | Token.Delim | Token.Number | Token.Percentage | Token.Dimension | Token.Whitespace | Token.Colon | Token.Semicolon | Token.Comma | Token.OpenParenthesis | Token.CloseParenthesis | Token.OpenSquareBracket | Token.CloseSquareBracket | Token.OpenCurlyBracket | Token.CloseCurlyBracket | Token.OpenComment | Token.CloseComment;
// @public (undocumented)
export namespace Token {
// (undocumented)
export class AtKeyword implements Equatable, Serializable<AtKeyword.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(value: string): AtKeyword;
// (undocumented)
toJSON(): AtKeyword.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "at-keyword";
// (undocumented)
get value(): string;
}
// (undocumented)
export namespace AtKeyword {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "at-keyword";
// (undocumented)
value: string;
}
}
// (undocumented)
export class BadURL implements Equatable, Serializable<BadURL.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(): BadURL;
// (undocumented)
toJSON(): BadURL.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "bad-url";
}
const // (undocumented)
ident: typeof Ident.of, // (undocumented)
isIdent: typeof Ident.isIdent;
// (undocumented)
export namespace BadURL {
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "bad-url";
}
}
// (undocumented)
export class CloseComment implements Equatable, Serializable<CloseComment.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(): CloseComment;
// (undocumented)
toJSON(): CloseComment.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "close-comment";
}
// (undocumented)
export namespace CloseComment {
// (undocumented)
export function isCloseComment(value: unknown): value is CloseComment;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "close-comment";
}
}
const // (undocumented)
func: typeof Function.of, // (undocumented)
isFunction: typeof Function.isFunction;
// (undocumented)
export class CloseCurlyBracket implements Equatable, Serializable<CloseCurlyBracket.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get mirror(): OpenCurlyBracket;
// (undocumented)
static of(): CloseCurlyBracket;
// (undocumented)
toJSON(): CloseCurlyBracket.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "close-curly-bracket";
}
// (undocumented)
export namespace CloseCurlyBracket {
// (undocumented)
export function isCloseCurlyBracket(value: unknown): value is CloseCurlyBracket;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "close-curly-bracket";
}
}
// (undocumented)
export class CloseParenthesis implements Equatable, Serializable<CloseParenthesis.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get mirror(): OpenParenthesis;
// (undocumented)
static of(): CloseParenthesis;
// (undocumented)
toJSON(): CloseParenthesis.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "close-parenthesis";
}
const // (undocumented)
atKeyword: typeof AtKeyword.of;
// (undocumented)
export namespace CloseParenthesis {
// (undocumented)
export function isCloseParenthesis(value: unknown): value is CloseParenthesis;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "close-parenthesis";
}
}
// (undocumented)
export class CloseSquareBracket implements Equatable, Serializable<CloseSquareBracket.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get mirror(): OpenSquareBracket;
// (undocumented)
static of(): CloseSquareBracket;
// (undocumented)
toJSON(): CloseSquareBracket.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "close-square-bracket";
}
const // (undocumented)
hash: typeof Hash.of, // (undocumented)
isHash: typeof Hash.isHash;
// (undocumented)
export namespace CloseSquareBracket {
// (undocumented)
export function isCloseSquareBracket(value: unknown): value is CloseSquareBracket;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "close-square-bracket";
}
}
// (undocumented)
export class Colon implements Equatable, Serializable<Colon.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(): Colon;
// (undocumented)
toJSON(): Colon.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "colon";
}
// (undocumented)
export namespace Colon {
// (undocumented)
export function isColon(value: unknown): value is Colon;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "colon";
}
}
const // (undocumented)
string: typeof String.of, // (undocumented)
isString: typeof String.isString;
// (undocumented)
export class Comma implements Equatable, Serializable<Comma.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(): Comma;
// (undocumented)
toJSON(): Comma.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "comma";
}
// (undocumented)
export namespace Comma {
// (undocumented)
export function isComma(value: unknown): value is Comma;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "comma";
}
}
// (undocumented)
export class Delim implements Equatable, Serializable<Delim.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(value: number): Delim;
// (undocumented)
toJSON(): Delim.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "delim";
// (undocumented)
get value(): number;
}
const // (undocumented)
url: typeof URL.of, // (undocumented)
isURL: typeof URL.isURL;
// (undocumented)
export namespace Delim {
// (undocumented)
export function isDelim(value: unknown): value is Delim;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "delim";
// (undocumented)
value: number;
}
}
// (undocumented)
export class Dimension implements Equatable, Serializable<Dimension.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get isInteger(): boolean;
// (undocumented)
get isSigned(): boolean;
// (undocumented)
static of(value: number, unit: string, isInteger: boolean, isSigned: boolean): Dimension;
// (undocumented)
toJSON(): Dimension.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "dimension";
// (undocumented)
get unit(): string;
// (undocumented)
get value(): number;
}
// (undocumented)
export namespace Dimension {
// (undocumented)
export function isDimension(value: unknown): value is Dimension;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
isInteger: boolean;
// (undocumented)
isSigned: boolean;
// (undocumented)
type: "dimension";
// (undocumented)
unit: string;
// (undocumented)
value: number;
}
}
const // (undocumented)
badURL: typeof BadURL.of;
// (undocumented)
export class Function implements Equatable, Serializable<Function.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get mirror(): CloseParenthesis;
// (undocumented)
static of(value: string): Function;
// (undocumented)
toJSON(): Function.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "function";
// (undocumented)
get value(): string;
}
// (undocumented)
export namespace Function {
// (undocumented)
export function isFunction(value: unknown): value is Function;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "function";
// (undocumented)
value: string;
}
}
const // (undocumented)
delim: typeof Delim.of, // (undocumented)
isDelim: typeof Delim.isDelim;
// (undocumented)
export class Hash implements Equatable, Serializable<Hash.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get isIdentifier(): boolean;
// (undocumented)
static of(value: string, isIdentifier: boolean): Hash;
// (undocumented)
toJSON(): Hash.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "hash";
// (undocumented)
get value(): string;
}
// (undocumented)
export namespace Hash {
// (undocumented)
export function isHash(value: unknown): value is Hash;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
isIdentifier: boolean;
// (undocumented)
type: "hash";
// (undocumented)
value: string;
}
}
// (undocumented)
export class Ident implements Equatable, Serializable<Ident.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(value: string): Ident;
// (undocumented)
toJSON(): Ident.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "ident";
// (undocumented)
get value(): string;
}
const // (undocumented)
number: typeof Number.of, // (undocumented)
isNumber: typeof Number.isNumber;
// (undocumented)
export namespace Ident {
// (undocumented)
export function isIdent(value: unknown): value is Ident;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "ident";
// (undocumented)
value: string;
}
}
// (undocumented)
export type JSON = Ident.JSON | Function.JSON | AtKeyword.JSON | Hash.JSON | String.JSON | URL.JSON | BadURL.JSON | Delim.JSON | Number.JSON | Percentage.JSON | Dimension.JSON | Whitespace.JSON | Colon.JSON | Semicolon.JSON | Comma.JSON | OpenParenthesis.JSON | CloseParenthesis.JSON | OpenSquareBracket.JSON | CloseSquareBracket.JSON | OpenCurlyBracket.JSON | CloseCurlyBracket.JSON | OpenComment.JSON | CloseComment.JSON;
// (undocumented)
export class Number implements Equatable, Serializable<Number.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get isInteger(): boolean;
// (undocumented)
get isSigned(): boolean;
// (undocumented)
static of(value: number, isInteger: boolean, isSigned: boolean): Number;
// (undocumented)
toJSON(): Number.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "number";
// (undocumented)
get value(): number;
}
const // (undocumented)
percentage: typeof Percentage.of, // (undocumented)
isPercentage: typeof Percentage.isPercentage;
// (undocumented)
export namespace Number {
// (undocumented)
export function isNumber(value: unknown): value is Number;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
isInteger: boolean;
// (undocumented)
isSigned: boolean;
// (undocumented)
type: "number";
// (undocumented)
value: number;
}
}
// (undocumented)
export class OpenComment implements Equatable, Serializable<OpenComment.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(): OpenComment;
// (undocumented)
toJSON(): OpenComment.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "open-comment";
}
// (undocumented)
export namespace OpenComment {
// (undocumented)
export function isOpenComment(value: unknown): value is OpenComment;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "open-comment";
}
}
const // (undocumented)
dimension: typeof Dimension.of, // (undocumented)
isDimension: typeof Dimension.isDimension;
// (undocumented)
export class OpenCurlyBracket implements Equatable, Serializable<OpenCurlyBracket.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get mirror(): CloseCurlyBracket;
// (undocumented)
static of(): OpenCurlyBracket;
// (undocumented)
toJSON(): OpenCurlyBracket.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "open-curly-bracket";
}
// (undocumented)
export namespace OpenCurlyBracket {
// (undocumented)
export function isOpenCurlyBracket(value: unknown): value is OpenCurlyBracket;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "open-curly-bracket";
}
}
// (undocumented)
export class OpenParenthesis implements Equatable, Serializable<OpenParenthesis.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get mirror(): CloseParenthesis;
// (undocumented)
static of(): OpenParenthesis;
// (undocumented)
toJSON(): OpenParenthesis.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "open-parenthesis";
}
const // (undocumented)
whitespace: typeof Whitespace.of, // (undocumented)
isWhitespace: typeof Whitespace.isWhitespace;
const // (undocumented)
parseWhitespace: Parser<Slice<Token>, Whitespace, string, []>;
// (undocumented)
export namespace OpenParenthesis {
// (undocumented)
export function isOpenParenthesis(value: unknown): value is OpenParenthesis;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "open-parenthesis";
}
}
// (undocumented)
export class OpenSquareBracket implements Equatable, Serializable<OpenSquareBracket.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get mirror(): CloseSquareBracket;
// (undocumented)
static of(): OpenSquareBracket;
// (undocumented)
toJSON(): OpenSquareBracket.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "open-square-bracket";
}
const // (undocumented)
colon: typeof Colon.of, // (undocumented)
isColon: typeof Colon.isColon;
const // (undocumented)
parseColon: Parser<Slice<Token>, Colon, string, []>;
// (undocumented)
export namespace OpenSquareBracket {
// (undocumented)
export function isOpenSquareBracket(value: unknown): value is OpenSquareBracket;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "open-square-bracket";
}
}
// (undocumented)
export function parseDelim(query?: string | number | Predicate<Delim>): Parser<Slice<Token>, Delim, string, []>;
const // (undocumented)
semicolon: typeof Semicolon.of, // (undocumented)
isSemicolon: typeof Semicolon.isSemicolon;
const // (undocumented)
parseSemicolon: Parser<Slice<Token>, Semicolon, string, []>;
// (undocumented)
export function parseDimension(predicate?: Predicate<Dimension>): Parser<Slice<Token>, Dimension, string, []>;
// (undocumented)
export function parseFunction(query?: string | Predicate<Function>): Parser<Slice<Token>, Function, string, []>;
const // (undocumented)
comma: typeof Comma.of, // (undocumented)
isComma: typeof Comma.isComma;
const // (undocumented)
parseComma: Parser<Slice<Token>, Comma, string, []>;
// (undocumented)
export function parseHash(predicate?: Predicate<Hash>): Parser<Slice<Token>, Hash, string, []>;
// (undocumented)
export function parseIdent(query?: string | Predicate<Ident>): Parser<Slice<Token>, Ident, string, []>;
const // (undocumented)
openParenthesis: typeof OpenParenthesis.of, // (undocumented)
isOpenParenthesis: typeof OpenParenthesis.isOpenParenthesis;
const // (undocumented)
parseOpenParenthesis: Parser<Slice<Token>, OpenParenthesis, string, []>;
// (undocumented)
export function parseNumber(predicate?: Predicate<Number>): Parser<Slice<Token>, Number, string, []>;
// (undocumented)
export function parsePercentage(predicate?: Predicate<Percentage>): Parser<Slice<Token>, Percentage, string, []>;
const // (undocumented)
closeParenthesis: typeof CloseParenthesis.of, // (undocumented)
isCloseParenthesis: typeof CloseParenthesis.isCloseParenthesis;
const // (undocumented)
parseCloseParenthesis: Parser<Slice<Token>, CloseParenthesis, string, []>;
// (undocumented)
export function parseString(predicate?: Predicate<String>): Parser<Slice<Token>, String, string, []>;
// (undocumented)
export function parseURL(predicate?: Predicate<URL>): Parser<Slice<Token>, URL, string, []>;
const // (undocumented)
openSquareBracket: typeof OpenSquareBracket.of, // (undocumented)
isOpenSquareBracket: typeof OpenSquareBracket.isOpenSquareBracket;
const // (undocumented)
parseOpenSquareBracket: Parser<Slice<Token>, OpenSquareBracket, string, []>;
// (undocumented)
export class Percentage implements Equatable, Serializable<Percentage.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
get isInteger(): boolean;
// (undocumented)
static of(value: number, isInteger: boolean): Percentage;
// (undocumented)
toJSON(): Percentage.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "percentage";
// (undocumented)
get value(): number;
}
// (undocumented)
export namespace Percentage {
// (undocumented)
export function isPercentage(value: unknown): value is Percentage;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
isInteger: boolean;
// (undocumented)
type: "percentage";
// (undocumented)
value: number;
}
}
const // (undocumented)
closeSquareBracket: typeof CloseSquareBracket.of, // (undocumented)
isCloseSquareBracket: typeof CloseSquareBracket.isCloseSquareBracket;
const // (undocumented)
parseCloseSquareBracket: Parser<Slice<Token>, CloseSquareBracket, string, []>;
// (undocumented)
export class Semicolon implements Equatable, Serializable<Semicolon.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(): Semicolon;
// (undocumented)
toJSON(): Semicolon.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "semicolon";
}
// (undocumented)
export namespace Semicolon {
// (undocumented)
export function isSemicolon(value: unknown): value is Semicolon;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "semicolon";
}
}
const // (undocumented)
openCurlyBracket: typeof OpenCurlyBracket.of, // (undocumented)
isOpenCurlyBracket: typeof OpenCurlyBracket.isOpenCurlyBracket;
const // (undocumented)
parseOpenCurlyBracket: Parser<Slice<Token>, OpenCurlyBracket, string, []>;
// (undocumented)
export class String implements Equatable, Serializable<String.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(value: string): String;
// (undocumented)
toJSON(): String.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "string";
// (undocumented)
get value(): string;
}
// (undocumented)
export namespace String {
// (undocumented)
export function isString(value: unknown): value is String;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "string";
// (undocumented)
value: string;
}
}
const // (undocumented)
closeCurlyBracket: typeof CloseCurlyBracket.of, // (undocumented)
isCloseCurlyBracket: typeof CloseCurlyBracket.isCloseCurlyBracket;
const // (undocumented)
parseCloseCurlyBracket: Parser<Slice<Token>, CloseCurlyBracket, string, []>;
// (undocumented)
export class URL implements Equatable, Serializable<URL.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(value: string): URL;
// (undocumented)
toJSON(): URL.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "url";
// (undocumented)
get value(): string;
}
// (undocumented)
export namespace URL {
// (undocumented)
export function isURL(value: unknown): value is URL;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "url";
// (undocumented)
value: string;
}
}
const // (undocumented)
openComment: typeof OpenComment.of, // (undocumented)
isOpenComment: typeof OpenComment.isOpenComment;
const // (undocumented)
parseOpenComment: Parser<Slice<Token>, OpenComment, string, []>;
// (undocumented)
export class Whitespace implements Equatable, Serializable<Whitespace.JSON> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
static of(): Whitespace;
// (undocumented)
toJSON(): Whitespace.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "whitespace";
}
// (undocumented)
export namespace Whitespace {
// (undocumented)
export function isWhitespace(value: unknown): value is Whitespace;
// (undocumented)
export interface JSON {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: "whitespace";
}
}
const // (undocumented)
closeComment: typeof CloseComment.of, // (undocumented)
isCloseComment: typeof CloseComment.isCloseComment;
const // (undocumented)
parseCloseComment: Parser<Slice<Token>, CloseComment, string, []>;
}
// @public (undocumented)
export type Transform = Matrix | Perspective | Rotate | Scale | Skew | Translate;
// @public (undocumented)
export namespace Transform {
// (undocumented)
export function matrix(...values: Matrix.Values<Number_2>): Matrix;
// (undocumented)
export function perspective<D extends Length>(depth: D): Perspective<D>;
// (undocumented)
export function rotate<A extends Angle>(x: Number_2, y: Number_2, z: Number_2, angle: A): Rotate<A>;
// (undocumented)
export function scale(x: Number_2, y: Number_2): Scale;
// (undocumented)
export function skew<X extends Angle, Y extends Angle>(x: X, y: Y): Skew<X, Y>;
// (undocumented)
export function translate<X extends Length | Percentage, Y extends Length | Percentage, Z extends Length>(x: X, y: Y, z: Z): Translate<X, Y, Z>;
const // (undocumented)
parse: Parser<Slice<Token>, Transform, string, []>;
const // (undocumented)
parseList: Parser<Slice<Token>, Array<Transform>, string>;
}
// @public (undocumented)
export class Translate<X extends Length | Percentage = Length | Percentage, Y extends Length | Percentage = Length | Percentage, Z extends Length = Length> extends Value<"transform"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
get kind(): "translate";
// (undocumented)
static of<X extends Length | Percentage, Y extends Length | Percentage, Z extends Length>(x: X, y: Y, z: Z): Translate<X, Y, Z>;
// (undocumented)
toJSON(): Translate.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "transform";
// (undocumented)
get x(): X;
// (undocumented)
get y(): Y;
// (undocumented)
get z(): Z;
}
// @public (undocumented)
export namespace Translate {
// (undocumented)
export function isTranslate<X extends Length | Percentage, Y extends Length | Percentage, Z extends Length>(value: unknown): value is Translate<X, Y, Z>;
// (undocumented)
export interface JSON extends Value.JSON<"transform"> {
// (undocumented)
kind: "translate";
// (undocumented)
x: Length.JSON | Percentage.JSON;
// (undocumented)
y: Length.JSON | Percentage.JSON;
// (undocumented)
z: Length.JSON;
}
const // (undocumented)
parse: Parser<Slice<Token>, Translate, string>;
}
// @public (undocumented)
export type Unit = Unit.Length | Unit.Angle | Unit.Time | Unit.Frequency | Unit.Resolution;
// @public (undocumented)
export namespace Unit {
// (undocumented)
export type Angle = "deg" | "grad" | "rad" | "turn";
const // (undocumented)
isRelativeLength: typeof Length.isRelative, // (undocumented)
isFontRelativeLength: typeof Length.isFontRelative, // (undocumented)
isViewportRelativeLength: typeof Length.isViewportRelative, // (undocumented)
isAbsoluteLength: typeof Length.isAbsolute;
// (undocumented)
export type Frequency = "hz" | "kHz";
// (undocumented)
export function isAngle(unit: string): unit is Angle;
// (undocumented)
export function isFrequency(unit: string): unit is Frequency;
// (undocumented)
export function isLength(unit: string): unit is Length;
// (undocumented)
export function isResolution(unit: string): unit is Resolution;
// (undocumented)
export function isTime(unit: string): unit is Time;
// (undocumented)
export namespace Length {
// (undocumented)
export type Absolute = "cm" | "mm" | "Q" | "in" | "pc" | "pt" | "px";
// (undocumented)
export function isAbsolute(unit: string): unit is Absolute;
// (undocumented)
export function isFontRelative(unit: string): unit is Relative.Font;
// (undocumented)
export function isRelative(unit: string): unit is Relative;
// (undocumented)
export function isViewportRelative(unit: string): unit is Relative.Viewport;
// (undocumented)
export type Relative = Relative.Font | Relative.Viewport;
// (undocumented)
export namespace Relative {
// (undocumented)
export type Font = "em" | "ex" | "ch" | "rem";
// (undocumented)
export type Viewport = "vw" | "vh" | "vmin" | "vmax";
}
}
// (undocumented)
export type Length = Length.Relative | Length.Absolute;
// (undocumented)
export type Resolution = "dpi" | "dpcm" | "dppx";
// (undocumented)
export type Time = "s" | "ms";
}
// @public (undocumented)
export class URL extends Value<"url"> {
// (undocumented)
equals(value: unknown): value is this;
// (undocumented)
hash(hash: Hash): void;
// (undocumented)
static of(url: string): URL;
// (undocumented)
toJSON(): URL.JSON;
// (undocumented)
toString(): string;
// (undocumented)
get type(): "url";
// (undocumented)
get url(): string;
}
// @public (undocumented)
export namespace URL {
// (undocumented)
export function isURL(value: unknown): value is URL;
// (undocumented)
export interface JSON extends Value.JSON<"url"> {
// (undocumented)
url: string;
}
const // (undocumented)
parse: Parser<Slice<Token>, URL, string>;
}
// @public (undocumented)
export abstract class Value<T extends string = string> implements Equatable, Hashable, Serializable<Value.JSON<T>> {
protected constructor();
// (undocumented)
abstract equals(value: unknown): value is this;
// (undocumented)
abstract hash(hash: Hash): void;
// (undocumented)
abstract toJSON(): Value.JSON<T>;
// (undocumented)
abstract toString(): string;
// (undocumented)
abstract get type(): T;
}
// @public (undocumented)
export namespace Value {
// (undocumented)
export function isValue<T extends string>(value: unknown, type?: T): value is Value<T>;
// (undocumented)
export interface JSON<T extends string = string> {
// (undocumented)
[key: string]: json.JSON;
// (undocumented)
type: T;
}
}
// (No @packageDocumentation comment for this package)