declare namespace cairo { class Status { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kSuccess": Status static readonly "kNoMemory": Status static readonly "kInvalidRestore": Status static readonly "kInvalidPopGroup": Status static readonly "kNoCurrentPoint": Status static readonly "kInvalidMatrix": Status static readonly "kInvalidStatus": Status static readonly "kNullPointer": Status static readonly "kInvalidString": Status static readonly "kInvalidPathData": Status static readonly "kReadError": Status static readonly "kWriteError": Status static readonly "kSurfaceFinished": Status static readonly "kSurfaceTypeMismatch": Status static readonly "kPatternTypeMismatch": Status static readonly "kInvalidContent": Status static readonly "kInvalidFormat": Status static readonly "kInvalidVisual": Status static readonly "kFileNotFound": Status static readonly "kInvalidDash": Status static readonly "kInvalidDscComment": Status static readonly "kInvalidIndex": Status static readonly "kClipNotRepresentable": Status static readonly "kTempFileError": Status static readonly "kInvalidStride": Status static readonly "kFontTypeMismatch": Status static readonly "kUserFontImmutable": Status static readonly "kUserFontError": Status static readonly "kNegativeCount": Status static readonly "kInvalidClusters": Status static readonly "kInvalidSlant": Status static readonly "kInvalidWeight": Status static readonly "kInvalidSize": Status static readonly "kUserFontNotImplemented": Status static readonly "kDeviceTypeMismatch": Status static readonly "kDeviceError": Status static readonly "kInvalidMeshConstruction": Status static readonly "kDeviceFinished": Status static readonly "kJbig2GlobalMissing": Status } class Content { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kColor": Content static readonly "kAlpha": Content static readonly "kColorAlpha": Content } class Operator { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kClear": Operator static readonly "kSource": Operator static readonly "kOver": Operator static readonly "kIn": Operator static readonly "kOut": Operator static readonly "kAtop": Operator static readonly "kDest": Operator static readonly "kDestOver": Operator static readonly "kDestIn": Operator static readonly "kDestOut": Operator static readonly "kDestAtop": Operator static readonly "kXOr": Operator static readonly "kAdd": Operator static readonly "kSaturate": Operator static readonly "kMultiply": Operator static readonly "kScreen": Operator static readonly "kOverlay": Operator static readonly "kDarken": Operator static readonly "kLighten": Operator static readonly "kColorDodge": Operator static readonly "kColorBurn": Operator static readonly "kHardLight": Operator static readonly "kSoftLight": Operator static readonly "kDifference": Operator static readonly "kExclusion": Operator static readonly "kHslHue": Operator static readonly "kHslSaturation": Operator static readonly "kHslColor": Operator static readonly "kHslLuminosity": Operator } class Antialias { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kDefault": Antialias static readonly "kNone": Antialias static readonly "kGray": Antialias static readonly "kSubpixel": Antialias static readonly "kFast": Antialias static readonly "kGood": Antialias static readonly "kBest": Antialias } class FillRule { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kWinding": FillRule static readonly "kEvenOdd": FillRule } class LineCap { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kButt": LineCap static readonly "kRound": LineCap static readonly "kSquare": LineCap } class LineJoin { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kMiter": LineJoin static readonly "kRound": LineJoin static readonly "kBevel": LineJoin } class TextClusterFlags { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kBackward": TextClusterFlags } class FontSlant { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kNormal": FontSlant static readonly "kItalic": FontSlant static readonly "kOblique": FontSlant } class FontWeight { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kNormal": FontWeight static readonly "kBold": FontWeight } class SubpixelOrder { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kDefault": SubpixelOrder static readonly "kRgb": SubpixelOrder static readonly "kBgr": SubpixelOrder static readonly "kVrgb": SubpixelOrder static readonly "kVbgr": SubpixelOrder } class HintStyle { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kDefault": HintStyle static readonly "kNone": HintStyle static readonly "kSlight": HintStyle static readonly "kMedium": HintStyle static readonly "kFull": HintStyle } class HintMetrics { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kDefault": HintMetrics static readonly "kOff": HintMetrics static readonly "kOn": HintMetrics } class FontType { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kToy": FontType static readonly "kFt": FontType static readonly "kWin32": FontType static readonly "kQuartz": FontType static readonly "kUser": FontType } class PathDataType { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kMoveTo": PathDataType static readonly "kLineTo": PathDataType static readonly "kCurveTo": PathDataType static readonly "kClosePath": PathDataType } class DeviceType { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kDrm": DeviceType static readonly "kGl": DeviceType static readonly "kScript": DeviceType static readonly "kXCb": DeviceType static readonly "kXLib": DeviceType static readonly "kXMl": DeviceType static readonly "kCogl": DeviceType static readonly "kWin32": DeviceType static readonly "kInvalid": DeviceType } class SurfaceType { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kImage": SurfaceType static readonly "kPdf": SurfaceType static readonly "kPs": SurfaceType static readonly "kXLib": SurfaceType static readonly "kXCb": SurfaceType static readonly "kGlitz": SurfaceType static readonly "kQuartz": SurfaceType static readonly "kWin32": SurfaceType static readonly "kBeos": SurfaceType static readonly "kDirectfb": SurfaceType static readonly "kSvg": SurfaceType static readonly "kOs2": SurfaceType static readonly "kWin32Printing": SurfaceType static readonly "kQuartzImage": SurfaceType static readonly "kScript": SurfaceType static readonly "kQt": SurfaceType static readonly "kRecording": SurfaceType static readonly "kVg": SurfaceType static readonly "kGl": SurfaceType static readonly "kDrm": SurfaceType static readonly "kTee": SurfaceType static readonly "kXMl": SurfaceType static readonly "kSkia": SurfaceType static readonly "kSubsurface": SurfaceType static readonly "kCogl": SurfaceType } class Format { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kInvalid": Format static readonly "kArgb32": Format static readonly "kRgb24": Format static readonly "kA8": Format static readonly "kA1": Format static readonly "kRgb16565": Format static readonly "kRgb30": Format } class PatternType { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kSolid": PatternType static readonly "kSurface": PatternType static readonly "kLinear": PatternType static readonly "kRadial": PatternType static readonly "kMesh": PatternType static readonly "kRasterSource": PatternType } class Extend { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kNone": Extend static readonly "kRepeat": Extend static readonly "kReflect": Extend static readonly "kPad": Extend } class Filter { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kFast": Filter static readonly "kGood": Filter static readonly "kBest": Filter static readonly "kNearest": Filter static readonly "kBilinear": Filter static readonly "kGaussian": Filter } class RegionOverlap { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kIn": RegionOverlap static readonly "kOut": RegionOverlap static readonly "kPart": RegionOverlap } class Context { } class Device { } class Surface { } class Matrix { } class Pattern { } class Region { } class FontOptions { } class FontFace { } class ScaledFont { } class Path { } class Rectangle { x : number; y : number; width : number; height : number; } class RectangleInt { x : number; y : number; width : number; height : number; } }