UNPKG

react-native-image-filter-kit

Version:
1,238 lines (1,078 loc) 91 kB
import * as React from 'react' import { Matrix } from 'rn-color-matrices' import { ViewProps, NativeSyntheticEvent, ImageProps, ImageBackgroundProps } from 'react-native' type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>> type Distance = number | string type Position = { readonly x: Distance readonly y: Distance } type Offset = { readonly x: number readonly y: number } type Scale = 'COVER' | 'CONTAIN' | 'STRETCH' | Offset type Angle = number | string interface Transform { readonly anchor?: Offset readonly translate?: Offset readonly scale?: Scale readonly rotate?: Angle } type PathStep = | { moveTo: [Distance, Distance] } | { lineTo: [Distance, Distance] } | { quadTo: [Distance, Distance, Distance, Distance] } | { cubicTo: [Distance, Distance, Distance, Distance, Distance, Distance] } | { closePath: [] } type Path = ReadonlyArray<PathStep> type Area = { readonly x: Distance readonly y: Distance readonly width: Distance readonly height: Distance } type TileMode = 'CLAMP' | 'MIRROR' | 'REPEAT' type MixStep = 'CLAMP' | 'SMOOTH' type PorterDuffMode = | 'ADD' | 'CLEAR' | 'DARKEN' | 'DST' | 'DST_ATOP' | 'DST_IN' | 'DST_OUT' | 'DST_OVER' | 'LIGHTEN' | 'MULTIPLY' | 'OVERLAY' | 'SCREEN' | 'SRC' | 'SRC_ATOP' | 'SRC_IN' | 'SRC_OUT' | 'SRC_OVER' | 'XOR' export type Filterable<Rest> = React.ReactElement<unknown> | Config<Rest> interface CacheableConfig { /** Should be used only when defining custom filters */ readonly disableCache?: boolean } interface CommonConfig<Rest = never> extends CacheableConfig { readonly image: Filterable<Rest> } interface ColorMatrixConfig<Rest = never> extends CommonConfig<Rest> { readonly matrix: Matrix } interface RGBAConfig<Rest = never> extends CommonConfig<Rest> { readonly red?: number readonly green?: number readonly blue?: number readonly alpha?: number } interface AmountConfig<Rest = never> extends CommonConfig<Rest> { readonly amount?: number } interface ColorToneConfig<Rest = never> extends CommonConfig<Rest> { readonly desaturation?: number readonly toned?: number readonly lightColor?: string readonly darkColor?: string } interface DuoToneConfig<Rest = never> extends CommonConfig<Rest> { readonly firstColor?: string readonly secondColor?: string } interface ConvolveMatrix3x3Config<Rest = never> extends CommonConfig<Rest> { readonly matrix?: [ number, number, number, number, number, number, number, number, number ] } interface ConvolveMatrix5x5Config<Rest = never> extends CommonConfig<Rest> { readonly matrix?: [ number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number ] } interface BlurConfig<Rest = never> extends CommonConfig<Rest> { readonly radius?: number } interface CompositionConfig<Rest = never> extends CacheableConfig { readonly dstImage: Filterable<Rest> readonly dstTransform?: Transform readonly srcImage: Filterable<Rest> readonly srcTransform?: Transform readonly resizeCanvasTo?: 'dstImage' | 'srcImage' } interface BlendColorConfig<Rest = never> extends CacheableConfig { readonly dstImage: Filterable<Rest> readonly srcColor: string /** Should be used only when defining custom filters */ readonly disableIntermediateCaches?: boolean } interface GradientConfig<Rest> extends Partial<CommonConfig<Rest>> { readonly colors?: [ string, string?, string?, string?, string?, string?, string?, string?, string?, string? ] readonly stops?: [ number, number?, number?, number?, number?, number?, number?, number?, number?, number? ] readonly mixStep?: MixStep } interface QuadGradientConfig<Rest = never> extends Partial<CommonConfig<Rest>> { readonly bottomLeftColor: string readonly bottomRightColor: string readonly topLeftColor: string readonly topRightColor: string } interface LinearGradientConfig<Rest = never> extends GradientConfig<Rest> { readonly start?: Position readonly end?: Position } interface RadialGradientConfig<Rest = never> extends GradientConfig<Rest> { readonly center?: Position readonly radius?: Distance } interface EllipticalGradientConfig<Rest = never> extends GradientConfig<Rest> { readonly center?: Position readonly radiusX?: Distance readonly radiusY?: Distance } interface RectangularGradientConfig<Rest = never> extends GradientConfig<Rest> { readonly center?: Position readonly halfWidth?: Distance readonly halfHeight?: Distance } interface SweepGradientConfig<Rest = never> extends GradientConfig<Rest> { readonly center?: Position } interface ColorConfig<Rest = never> extends Partial<CommonConfig<Rest>> { readonly color: string } interface TextImageConfig<Rest = never> extends Partial<CommonConfig<Rest>> { readonly text: string readonly fontName?: string readonly fontSize?: number readonly color?: string } interface ShapeConfig<Rest = never> extends Partial<CommonConfig<Rest>> { readonly color?: string } interface CircleShapeConfig<Rest = never> extends ShapeConfig<Rest> { readonly radius?: Distance } interface OvalShapeConfig<Rest = never> extends ShapeConfig<Rest> { readonly radiusX?: Distance readonly radiusY?: Distance } interface PathShapeConfig<Rest = never> extends ShapeConfig<Rest> { readonly path: Path } interface RegularPolygonShapeConfig<Rest = never> extends ShapeConfig<Rest> { readonly borderRadiuses?: ReadonlyArray<Distance> readonly circumradius?: Distance } interface ConfigWithIntermediates<Rest = never> extends CommonConfig<Rest> { /** Should be used only when defining custom filters */ readonly disableIntermediateCaches?: boolean } interface IosCommonConfig<Rest = never> extends CacheableConfig { readonly inputImage: Filterable<Rest> readonly clampToExtent?: boolean } interface IosRadiusConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputRadius?: Distance } interface IosCompositionBaseConfig<ResizeTo, Rest = never> extends IosCommonConfig<Rest> { readonly resizeCanvasTo?: ResizeTo readonly inputImageTransform?: Transform } interface IosCIMaskedVariableBlurConfig<Rest = never> extends IosCompositionBaseConfig< 'inputImage' | 'inputMask', Rest > { readonly inputMask: Filterable<Rest> readonly inputMaskTransform?: Transform readonly inputRadius?: Distance } interface IosCIMotionBlurConfig<Rest = never> extends IosRadiusConfig<Rest> { readonly inputAngle?: Angle } interface IosCINoiseReductionConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputNoiseLevel?: number readonly inputSharpness?: number } interface IosAmountConfig<Amount, Rest = never> extends IosCommonConfig<Rest> { readonly inputAmount?: Amount } interface IosDistanceAmountConfig<Rest = never> extends IosAmountConfig<Distance, Rest> { } interface IosCIZoomBlurConfig<Rest = never> extends IosDistanceAmountConfig<Rest> { readonly inputCenter?: Position } interface IosCIColorClampConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputMinComponents?: [number, number, number, number] readonly inputMaxComponents?: [number, number, number, number] } interface IosCIColorControlsConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputSaturation?: number readonly inputBrightness?: number readonly inputContrast?: number } interface IosCIColorMatrixConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputRVector?: [number, number, number, number] readonly inputGVector?: [number, number, number, number] readonly inputBVector?: [number, number, number, number] readonly inputAVector?: [number, number, number, number] readonly inputBiasVector?: [number, number, number, number] } interface IosCIColorPolynomialBaseConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputRedCoefficients?: [number, number, number, number] readonly inputGreenCoefficients?: [number, number, number, number] readonly inputBlueCoefficients?: [number, number, number, number] } interface IosCIColorPolynomialConfig<Rest = never> extends IosCIColorPolynomialBaseConfig<Rest> { readonly inputAlphaCoefficients?: [number, number, number, number] } interface IosCIExposureAdjustConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputEV?: number } interface IosCIGammaAdjustConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputPower?: number } interface IosAngleConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputAngle?: Angle } interface IosCITemperatureAndTintConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputNeutral?: Offset readonly inputTargetNeutral?: Offset } interface IosCIToneCurveConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputPoint0?: Offset readonly inputPoint1?: Offset readonly inputPoint2?: Offset readonly inputPoint3?: Offset readonly inputPoint4?: Offset } interface IosColorConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputColor?: string } interface IosCIColorCubeConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputCubeDimension?: number readonly inputCubeData?: string } interface IosScalarAmountConfig<Rest = never> extends IosAmountConfig<number, Rest> { } interface IosCIColorMapConfig<Rest = never> extends IosCompositionBaseConfig< 'inputImage' | 'inputGradientImage', Rest > { readonly inputGradientImage: Filterable<Rest> readonly inputGradientImageTransform?: Transform } interface IosCIColorMonochromeConfig<Rest = never> extends IosColorConfig<Rest> { readonly inputIntensity?: number } interface IosCIColorPosterizeConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputLevels?: number } interface IosCIFalseColorConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputColor0?: string readonly inputColor1?: string } interface IosCISepiaToneConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputIntensity?: number } interface IosCIVignetteConfig<Rest = never> extends IosRadiusConfig<Rest> { readonly inputIntensity?: number } interface IosCIVignetteEffectConfig<Rest = never> extends IosCIVignetteConfig<Rest> { readonly inputCenter?: Position readonly inputFalloff?: number } interface IosCIBackgroundImageCompositionConfig<Rest = never> extends IosCompositionBaseConfig< 'inputImage' | 'inputBackgroundImage', Rest > { readonly inputBackgroundImage: Filterable<Rest> readonly inputBackgroundImageTransform?: Transform } interface IosCenterRadiusConfig<Rest = never> extends IosRadiusConfig<Rest> { readonly inputCenter?: Position } interface IosScaleCenterRadiusConfig<Rest = never> extends IosCenterRadiusConfig<Rest> { readonly inputScale?: number } interface IosCIBumpDistortionLinearConfig<Rest = never> extends IosScaleCenterRadiusConfig<Rest> { readonly inputAngle?: Angle } interface IosAngleCenterRadiusConfig<Rest = never> extends IosCenterRadiusConfig<Rest> { readonly inputAngle?: Angle } interface IosCIDrosteConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputInsetPoint0?: Position readonly inputInsetPoint1?: Position readonly inputStrands?: Distance readonly inputPeriodicity?: Distance readonly inputRotation?: Distance readonly inputZoom?: number } interface IosCIDisplacementDistortionConfig<Rest = never> extends IosCompositionBaseConfig< 'inputImage' | 'inputDisplacementImage', Rest > { readonly inputDisplacementImage: Filterable<Rest> readonly inputDisplacementImageTransform?: Transform readonly inputScale?: Distance } interface IosCIGlassDistortionConfig<Rest = never> extends IosCompositionBaseConfig< 'inputImage' | 'inputTexture', Rest > { readonly inputTexture: Filterable<Rest> readonly inputTextureTransform?: Transform readonly inputScale?: Distance readonly inputCenter?: Position } interface IosCIGlassLozengeConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputPoint0?: Position readonly inputPoint1?: Position readonly inputRadius?: Distance readonly inputRefraction?: number } interface IosCILightTunnelConfig<Rest = never> extends IosCenterRadiusConfig<Rest> { readonly inputRotation?: Angle } interface IosCIStretchCropConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputSize?: [Distance, Distance] readonly inputCropAmount?: number readonly inputCenterStretchAmount?: number } interface IosCITorusLensDistortionConfig<Rest = never> extends IosCenterRadiusConfig<Rest> { readonly inputWidth?: Distance readonly inputRefraction?: number } interface IosCITorusLensDistortionConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputWidth?: Distance readonly inputRefraction?: number } interface IosCIAztecCodeGeneratorConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputMessage: string readonly inputCorrectionLevel?: number readonly inputLayers?: number readonly inputCompactStyle?: boolean } interface IosCICheckerboardGeneratorConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputCenter?: Position readonly inputColor0?: string readonly inputColor1?: string readonly inputWidth?: Distance readonly inputShaprness?: number } interface IosCILenticularHaloGeneratorConfig<Rest = never> extends IosColorConfig<Rest> { readonly inputCenter?: Position readonly inputHaloRadius?: Distance readonly inputHaloWidth?: Distance readonly inputHaloOverlap?: number readonly inputStriationStrength?: number readonly inputStriationContrast?: number readonly inputTime?: number } interface IosCIQRCodeGeneratorConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputMessage: string readonly inputCorrectionLevel?: 'L' | 'M' | 'Q' | 'H' } interface IosCIStarShineGeneratorConfig<Rest = never> extends IosCenterRadiusConfig<Rest> { readonly inputColor?: string readonly inputCrossScale?: number readonly inputCrossAngle?: Angle readonly inputCrossOpacity?: number readonly inputCrossWidth?: Distance readonly inputEpsilon?: number } interface IosCIStripesGeneratorConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputCenter?: Position readonly inputColor0?: string readonly inputColor1?: string readonly inputWidth?: Distance readonly inputSharpness?: number } interface IosCISunbeamsGeneratorConfig<Rest = never> extends IosColorConfig<Rest> { readonly inputCenter?: Position readonly inputSunRadius?: Distance readonly inputMaxStriationRadius?: number readonly inputStriationStrength?: number readonly inputStriationContrast?: number readonly inputTime?: number } interface IosCICropConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputRectangle?: Area } interface IosCILanczosScaleTransformConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputScale?: number readonly inputAspectRatio?: number } interface IosPerspectiveConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputTopLeft?: Position readonly inputTopRight?: Position readonly inputBottomLeft?: Position readonly inputBottomRight?: Position } interface IosCIPerspectiveCorrectionConfig<Rest = never> extends IosPerspectiveConfig<Rest> { readonly inputCrop?: boolean } interface IosCIPerspectiveTransformWithExtentConfig<Rest = never> extends IosPerspectiveConfig<Rest> { readonly inputExtent?: Area } interface IosCIStraightenFilterConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputAngle?: Angle } interface IosGradientConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputColor0?: string readonly inputColor1?: string } interface IosCIGaussianGradientConfig<Rest = never> extends IosGradientConfig<Rest> { readonly inputCenter?: Position readonly inputRadius?: Distance } interface IosCILinearGradientConfig<Rest = never> extends IosGradientConfig<Rest> { readonly inputPoint0?: Position readonly inputPoint1?: Position } interface IosCIRadialGradientConfig<Rest = never> extends IosGradientConfig<Rest> { readonly inputCenter?: Position readonly inputRadius0?: Position readonly inputRadius1?: Position } interface IosHalftoneEffectConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputCenter?: Position readonly inputWidth?: Distance readonly inputSharpness?: number } interface IosAngleHalftoneEffectConfig<Rest = never> extends IosHalftoneEffectConfig<Rest> { readonly inputAngle?: Angle } interface IosCICMYKHalftoneConfig<Rest = never> extends IosAngleHalftoneEffectConfig<Rest> { readonly inputGCR?: number readonly inputUCR?: number } interface IosAreaConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputExtent?: Area } interface IosCIAreaHistogramConfig<Rest = never> extends IosAreaConfig<Rest> { readonly inputScale?: number readonly inputCount?: number } interface IosCIHistogramDisplayFilterConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputHeight?: number readonly inputHighLimit?: number readonly inputLowLimit?: number } interface IosCISharpenLuminanceConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputSharpness?: number } interface IosCIUnsharpMaskConfig<Rest = never> extends IosRadiusConfig<Rest> { readonly inputIntensity?: number } interface IosCIBloomConfig<Rest = never> extends IosRadiusConfig<Rest> { readonly inputIntensity?: number } interface IosConvolutionConfig< Weights = [number, number, number, number, number, number, number, number, number], Rest = never > extends IosCommonConfig<Rest> { readonly inputWeights?: Weights readonly inputBias?: number } interface IosCIConvolution5X5Config<Rest = never> extends IosConvolutionConfig< [ number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number ], Rest > { } interface IosCIConvolution7X7Config<Rest = never> extends IosConvolutionConfig< [ number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number ], Rest > { } interface IosCIEdgesConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputIntensity?: number } interface IosCIGloomConfig<Rest = never> extends IosRadiusConfig<Rest> { readonly inputIntensity?: number } interface IosCIHexagonalPixellateConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputCenter?: Position readonly inputScale?: Distance } interface IosCIHighlightShadowAdjustConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputHighlightAmount?: number readonly inputShadowAmount?: number } interface IosCILineOverlayConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputNRNoiseLevel?: number readonly inputNRSharpness?: number readonly inputEdgeIntensity?: number readonly inputThreshold?: number readonly inputContrast?: number } interface IosCIPixellateConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputCenter?: Position readonly inputScale?: Distance } interface IosCIShadedMaterialConfig<Rest = never> extends IosCompositionBaseConfig< 'inputImage' | 'inputShadingImage', Rest > { readonly inputShadingImage: Filterable<Rest> readonly inputShadingImageTransform?: Transform readonly inputScale?: number } interface IosCISpotColorConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputCenterColor1?: string readonly inputReplacementColor1?: string readonly inputCloseness1?: number readonly inputContrast1?: number readonly inputCenterColor2?: string readonly inputReplacementColor2?: string readonly inputCloseness2?: number readonly inputContrast2?: number readonly inputCenterColor3?: string readonly inputReplacementColor3?: string readonly inputCloseness3?: number readonly inputContrast3?: number } interface IosCISpotLightConfig<Rest = never> extends IosColorConfig<Rest> { readonly inputLightPosition?: [Distance, Distance, Distance] readonly inputLightPointsAt?: [Distance, Distance, Distance] readonly inputBrightness?: number readonly inputConcentration?: number } interface IosTileConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputAngle?: Angle readonly inputCenter?: Position readonly inputWidth?: Distance } interface IosCIFourfoldTranslatedTileConfig<Rest = never> extends IosTileConfig<Rest> { readonly inputAcuteAngle?: Angle } interface IosCIKaleidoscopeConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputAngle?: Angle readonly inputCenter?: Position readonly inputCount?: number } interface IosCIOpTileConfig<Rest = never> extends IosTileConfig<Rest> { readonly inputScale?: number } interface IosCITriangleKaleidoscopeConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputPoint?: Position readonly inputSize?: Distance readonly inputRotation?: Angle readonly inputDecay?: number } interface IosCIBokehBlurConfig<Rest = never> extends IosRadiusConfig<Rest> { readonly inputRingAmount?: number readonly inputRingSize?: number readonly inputSoftness?: number } interface IosCIMixConfig<Rest = never> extends IosCIBackgroundImageCompositionConfig<Rest> { readonly inputAmount?: number } interface IosCITextImageGeneratorConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputText: string readonly inputFontName?: string readonly inputFontSize?: Distance readonly inputScaleFactor?: number } interface IosCIHueSaturationValueGradientConfig<Rest = never> extends IosRadiusConfig<Rest> { readonly inputValue?: number readonly inputSoftness?: number readonly inputDither?: number } interface IosCINinePartStretchedConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputBreakpoint0?: Position readonly inputBreakpoint1?: Position readonly inputGrowAmount?: Position } interface IosCIMirrorConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputPoint?: Position readonly inputAngle?: Angle } interface IosCICheapBlurConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputPasses?: number readonly inputSampling?: number } interface IosCIDitherConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputIntensity?: number } interface IosCISkyAndGrassAdjustConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputSkyAmount?: number readonly inputGrassAmount?: number } interface IosCIRingBlurConfig<Rest = never> extends IosRadiusConfig<Rest> { readonly inputPointCount?: number } interface IosCIPhotoGrainConfig<Rest = never> extends IosScalarAmountConfig<Rest> { readonly inputISO?: number readonly inputSeed?: number } interface IosCILocalContrastConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputStrength?: number readonly inputScale?: number } interface IosCIGaussianBlurXYConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputSigmaX?: Distance readonly inputSigmaY?: Distance } interface IosCIPaperWashConfig<Rest = never> extends IosCommonConfig<Rest> { readonly inputSaturation?: number readonly inputGreyscale?: number } interface AndroidIterativeBoxBlurConfig<Rest = never> extends CommonConfig<Rest> { readonly blurRadius?: number readonly iterations?: number } interface AndroidLightingColorFilterConfig<Rest = never> extends CommonConfig<Rest> { readonly mul?: string readonly add?: string } interface AndroidLinearGradientConfig<Rest = never> extends Partial<CommonConfig<Rest>> { readonly x0?: Distance readonly y0?: Distance readonly x1?: Distance readonly y1?: Distance readonly colors?: ReadonlyArray<string> readonly locations?: ReadonlyArray<number> readonly tile?: TileMode } interface AndroidRadialGradientConfig<Rest = never> extends Partial<CommonConfig<Rest>> { readonly centerX?: Distance readonly centerY?: Distance readonly radius?: Distance readonly colors?: ReadonlyArray<string> readonly stops?: ReadonlyArray<number> readonly tileMode?: TileMode } interface AndroidSweepGradientConfig<Rest = never> extends Partial<CommonConfig<Rest>> { readonly cx?: Distance readonly cy?: Distance readonly colors?: ReadonlyArray<string> readonly positions?: ReadonlyArray<number> } interface AndroidPorterDuffColorFilterConfig<Rest = never> extends CommonConfig<Rest> { readonly color?: string readonly mode?: PorterDuffMode } interface AndroidPorterDuffXfermodeConfig<Rest = never> extends CompositionConfig<Rest> { readonly mode?: PorterDuffMode } interface AndroidScriptIntrinsicBlurConfig<Rest = never> extends CommonConfig<Rest> { readonly radius?: number } interface AndroidScriptIntrinsicConvolve3x3Config<Rest = never> extends CommonConfig<Rest> { readonly coefficients?: [number, number, number, number, number, number, number, number, number] } interface AndroidScriptIntrinsicConvolve5x5Config<Rest = never> extends CommonConfig<Rest> { readonly coefficients?: [ number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number ] } interface AndroidTextImageConfig<Rest = never> extends CommonConfig<Rest> { readonly text: string readonly fontName?: string readonly fontSize?: Distance readonly color?: string } export type ConfigCase<Name, Config> = { readonly name: Name } & Config export type Config<Rest = never> = | ConfigCase<'ColorMatrix', ColorMatrixConfig<Rest>> | ConfigCase<'Normal', CommonConfig<Rest>> | ConfigCase<'RGBA', RGBAConfig<Rest>> | ConfigCase<'Saturate', AmountConfig<Rest>> | ConfigCase<'HueRotate', AmountConfig<Rest>> | ConfigCase<'LuminanceToAlpha', CommonConfig<Rest>> | ConfigCase<'Invert', CommonConfig<Rest>> | ConfigCase<'Grayscale', AmountConfig<Rest>> | ConfigCase<'Sepia', AmountConfig<Rest>> | ConfigCase<'Nightvision', CommonConfig<Rest>> | ConfigCase<'Warm', CommonConfig<Rest>> | ConfigCase<'Cool', CommonConfig<Rest>> | ConfigCase<'Brightness', AmountConfig<Rest>> | ConfigCase<'Contrast', AmountConfig<Rest>> | ConfigCase<'Temperature', AmountConfig<Rest>> | ConfigCase<'Tint', AmountConfig<Rest>> | ConfigCase<'Threshold', AmountConfig<Rest>> | ConfigCase<'Technicolor', CommonConfig<Rest>> | ConfigCase<'Polaroid', CommonConfig<Rest>> | ConfigCase<'ToBGR', CommonConfig<Rest>> | ConfigCase<'Kodachrome', CommonConfig<Rest>> | ConfigCase<'Browni', CommonConfig<Rest>> | ConfigCase<'Vintage', CommonConfig<Rest>> | ConfigCase<'Night', AmountConfig<Rest>> | ConfigCase<'Predator', AmountConfig<Rest>> | ConfigCase<'Lsd', CommonConfig<Rest>> | ConfigCase<'ColorTone', ColorToneConfig<Rest>> | ConfigCase<'DuoTone', DuoToneConfig<Rest>> | ConfigCase<'Protanomaly', CommonConfig<Rest>> | ConfigCase<'Deuteranomaly', CommonConfig<Rest>> | ConfigCase<'Tritanomaly', CommonConfig<Rest>> | ConfigCase<'Protanopia', CommonConfig<Rest>> | ConfigCase<'Deuteranopia', CommonConfig<Rest>> | ConfigCase<'Tritanopia', CommonConfig<Rest>> | ConfigCase<'Achromatopsia', CommonConfig<Rest>> | ConfigCase<'Achromatomaly', CommonConfig<Rest>> | ConfigCase<'ConvolveMatrix3x3', ConvolveMatrix3x3Config<Rest>> | ConfigCase<'ConvolveMatrix5x5', ConvolveMatrix5x5Config<Rest>> | ConfigCase<'Sharpen', AmountConfig<Rest>> | ConfigCase<'EdgeDetection', ConfigWithIntermediates<Rest>> | ConfigCase<'Emboss', CommonConfig<Rest>> | ConfigCase<'FuzzyGlass', CommonConfig<Rest>> | ConfigCase<'BoxBlur', BlurConfig<Rest>> | ConfigCase<'GaussianBlur', BlurConfig<Rest>> | ConfigCase<'PlusBlend', CompositionConfig<Rest>> | ConfigCase<'DarkenBlend', CompositionConfig<Rest>> | ConfigCase<'LightenBlend', CompositionConfig<Rest>> | ConfigCase<'ModulateBlend', CompositionConfig<Rest>> | ConfigCase<'OverlayBlend', CompositionConfig<Rest>> | ConfigCase<'ScreenBlend', CompositionConfig<Rest>> | ConfigCase<'ColorDodgeBlend', CompositionConfig<Rest>> | ConfigCase<'ExclusionBlend', CompositionConfig<Rest>> | ConfigCase<'ColorBurnBlend', CompositionConfig<Rest>> | ConfigCase<'SoftLightBlend', CompositionConfig<Rest>> | ConfigCase<'HueBlend', CompositionConfig<Rest>> | ConfigCase<'ColorBlend', CompositionConfig<Rest>> | ConfigCase<'SaturationBlend', CompositionConfig<Rest>> | ConfigCase<'LuminosityBlend', CompositionConfig<Rest>> | ConfigCase<'DifferenceBlend', CompositionConfig<Rest>> | ConfigCase<'HardLightBlend', CompositionConfig<Rest>> | ConfigCase<'MultiplyBlend', CompositionConfig<Rest>> | ConfigCase<'PlusBlendColor', BlendColorConfig<Rest>> | ConfigCase<'DarkenBlendColor', BlendColorConfig<Rest>> | ConfigCase<'LightenBlendColor', BlendColorConfig<Rest>> | ConfigCase<'ModulateBlendColor', BlendColorConfig<Rest>> | ConfigCase<'OverlayBlendColor', BlendColorConfig<Rest>> | ConfigCase<'ScreenBlendColor', BlendColorConfig<Rest>> | ConfigCase<'ColorDodgeBlendColor', BlendColorConfig<Rest>> | ConfigCase<'ExclusionBlendColor', BlendColorConfig<Rest>> | ConfigCase<'ColorBurnBlendColor', BlendColorConfig<Rest>> | ConfigCase<'SoftLightBlendColor', BlendColorConfig<Rest>> | ConfigCase<'HueBlendColor', BlendColorConfig<Rest>> | ConfigCase<'ColorBlendColor', BlendColorConfig<Rest>> | ConfigCase<'SaturationBlendColor', BlendColorConfig<Rest>> | ConfigCase<'LuminosityBlendColor', BlendColorConfig<Rest>> | ConfigCase<'DifferenceBlendColor', BlendColorConfig<Rest>> | ConfigCase<'HardLightBlendColor', BlendColorConfig<Rest>> | ConfigCase<'MultiplyBlendColor', BlendColorConfig<Rest>> | ConfigCase<'DstATopComposition', CompositionConfig<Rest>> | ConfigCase<'DstInComposition', CompositionConfig<Rest>> | ConfigCase<'DstOutComposition', CompositionConfig<Rest>> | ConfigCase<'DstOverComposition', CompositionConfig<Rest>> | ConfigCase<'SrcATopComposition', CompositionConfig<Rest>> | ConfigCase<'SrcInComposition', CompositionConfig<Rest>> | ConfigCase<'SrcOutComposition', CompositionConfig<Rest>> | ConfigCase<'SrcOverComposition', CompositionConfig<Rest>> | ConfigCase<'XorComposition', CompositionConfig<Rest>> | ConfigCase<'_1977', ConfigWithIntermediates<Rest>> | ConfigCase<'Aden', ConfigWithIntermediates<Rest>> | ConfigCase<'Brannan', ConfigWithIntermediates<Rest>> | ConfigCase<'Brooklyn', ConfigWithIntermediates<Rest>> | ConfigCase<'Clarendon', ConfigWithIntermediates<Rest>> | ConfigCase<'Earlybird', ConfigWithIntermediates<Rest>> | ConfigCase<'Gingham', ConfigWithIntermediates<Rest>> | ConfigCase<'Hudson', ConfigWithIntermediates<Rest>> | ConfigCase<'Inkwell', ConfigWithIntermediates<Rest>> | ConfigCase<'Kelvin', ConfigWithIntermediates<Rest>> | ConfigCase<'Lark', ConfigWithIntermediates<Rest>> | ConfigCase<'Lofi', ConfigWithIntermediates<Rest>> | ConfigCase<'Maven', ConfigWithIntermediates<Rest>> | ConfigCase<'Mayfair', ConfigWithIntermediates<Rest>> | ConfigCase<'Moon', ConfigWithIntermediates<Rest>> | ConfigCase<'Nashville', ConfigWithIntermediates<Rest>> | ConfigCase<'Perpetua', ConfigWithIntermediates<Rest>> | ConfigCase<'Reyes', ConfigWithIntermediates<Rest>> | ConfigCase<'Rise', ConfigWithIntermediates<Rest>> | ConfigCase<'Slumber', ConfigWithIntermediates<Rest>> | ConfigCase<'Stinson', ConfigWithIntermediates<Rest>> | ConfigCase<'Toaster', ConfigWithIntermediates<Rest>> | ConfigCase<'Valencia', ConfigWithIntermediates<Rest>> | ConfigCase<'Walden', ConfigWithIntermediates<Rest>> | ConfigCase<'Willow', ConfigWithIntermediates<Rest>> | ConfigCase<'Xpro2', ConfigWithIntermediates<Rest>> | ConfigCase<'_1977Compat', ConfigWithIntermediates<Rest>> | ConfigCase<'AdenCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'BrannanCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'BrooklynCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'ClarendonCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'EarlybirdCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'GinghamCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'HudsonCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'InkwellCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'KelvinCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'LarkCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'LofiCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'MavenCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'MayfairCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'MoonCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'NashvilleCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'PerpetuaCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'ReyesCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'RiseCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'SlumberCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'StinsonCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'ToasterCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'ValenciaCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'WaldenCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'WillowCompat', ConfigWithIntermediates<Rest>> | ConfigCase<'Xpro2Compat', ConfigWithIntermediates<Rest>> | ConfigCase<'Color', ColorConfig<Rest>> | ConfigCase<'LinearGradient', LinearGradientConfig<Rest>> | ConfigCase<'RadialGradient', RadialGradientConfig<Rest>> | ConfigCase<'EllipticalGradient', EllipticalGradientConfig<Rest>> | ConfigCase<'RectangularGradient', RectangularGradientConfig<Rest>> | ConfigCase<'SweepGradient', SweepGradientConfig<Rest>> | ConfigCase<'TextImage', TextImageConfig<Rest>> | ConfigCase<'CircleShape', CircleShapeConfig<Rest>> | ConfigCase<'OvalShape', OvalShapeConfig<Rest>> | ConfigCase<'PathShape', PathShapeConfig<Rest>> | ConfigCase<'RegularPolygonShape', RegularPolygonShapeConfig<Rest>> | ConfigCase<'QuadGradient', QuadGradientConfig<Rest>> | ConfigCase<'IosCIBoxBlur', IosRadiusConfig<Rest>> | ConfigCase<'IosCIDiscBlur', IosRadiusConfig<Rest>> | ConfigCase<'IosCIGaussianBlur', IosRadiusConfig<Rest>> | ConfigCase<'IosCIMaskedVariableBlur', IosCIMaskedVariableBlurConfig<Rest>> | ConfigCase<'IosCIMedianFilter', IosCommonConfig<Rest>> | ConfigCase<'IosCIMotionBlur', IosCIMotionBlurConfig<Rest>> | ConfigCase<'IosCINoiseReduction', IosCINoiseReductionConfig<Rest>> | ConfigCase<'IosCIZoomBlur', IosCIZoomBlurConfig<Rest>> | ConfigCase<'IosCIColorClamp', IosCIColorClampConfig<Rest>> | ConfigCase<'IosCIColorControls', IosCIColorControlsConfig<Rest>> | ConfigCase<'IosCIColorMatrix', IosCIColorMatrixConfig<Rest>> | ConfigCase<'IosCIColorPolynomial', IosCIColorPolynomialConfig<Rest>> | ConfigCase<'IosCIExposureAdjust', IosCIExposureAdjustConfig<Rest>> | ConfigCase<'IosCIGammaAdjust', IosCIGammaAdjustConfig<Rest>> | ConfigCase<'IosCIHueAdjust', IosAngleConfig<Rest>> | ConfigCase<'IosCISRGBToneCurveToLinear', IosCommonConfig<Rest>> | ConfigCase<'IosCILinearToSRGBToneCurve', IosCommonConfig<Rest>> | ConfigCase<'IosCITemperatureAndTint', IosCITemperatureAndTintConfig<Rest>> | ConfigCase<'IosCIToneCurve', IosCIToneCurveConfig<Rest>> | ConfigCase<'IosCIVibrance', IosScalarAmountConfig<Rest>> | ConfigCase<'IosCIWhitePointAdjust', IosColorConfig<Rest>> | ConfigCase<'IosCIColorCrossPolynomial', IosCIColorPolynomialBaseConfig<Rest>> | ConfigCase<'IosCIColorCube', IosCIColorCubeConfig<Rest>> | ConfigCase<'IosCIColorInvert', IosCommonConfig<Rest>> | ConfigCase<'IosCIColorMap', IosCIColorMapConfig<Rest>> | ConfigCase<'IosCIColorMonochrome', IosCIColorMonochromeConfig<Rest>> | ConfigCase<'IosCIColorPosterize', IosCIColorPosterizeConfig<Rest>> | ConfigCase<'IosCIFalseColor', IosCIFalseColorConfig<Rest>> | ConfigCase<'IosCIMaskToAlpha', IosCommonConfig<Rest>> | ConfigCase<'IosCIMaximumComponent', IosCommonConfig<Rest>> | ConfigCase<'IosCIMinimumComponent', IosCommonConfig<Rest>> | ConfigCase<'IosCIPhotoEffectChrome', IosCommonConfig<Rest>> | ConfigCase<'IosCIPhotoEffectFade', IosCommonConfig<Rest>> | ConfigCase<'IosCIPhotoEffectInstant', IosCommonConfig<Rest>> | ConfigCase<'IosCIPhotoEffectMono', IosCommonConfig<Rest>> | ConfigCase<'IosCIPhotoEffectNoir', IosCommonConfig<Rest>> | ConfigCase<'IosCIPhotoEffectProcess', IosCommonConfig<Rest>> | ConfigCase<'IosCIPhotoEffectTonal', IosCommonConfig<Rest>> | ConfigCase<'IosCIPhotoEffectTransfer', IosCommonConfig<Rest>> | ConfigCase<'IosCISepiaTone', IosCISepiaToneConfig<Rest>> | ConfigCase<'IosCIVignete', IosCIVignetteConfig<Rest>> | ConfigCase<'IosCIVigneteEffect', IosCIVignetteEffectConfig<Rest>> | ConfigCase<'IosCIAdditionCompositing', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIColorBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIColorBurnBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIColorDodgeBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIDarkenBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIDifferenceBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIDivideBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIExclusionBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIHardLightBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIHueBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCILightenBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCILinearBurnBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCILinearDodgeBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCILuminosityBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIMaximumCompositing', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIMinimumCompositing', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIMultiplyBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIMultiplyCompositing', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIOverlayBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIPinLightBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCISaturationBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIScreenBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCISoftLightBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCISourceAtopCompositing', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCISourceInCompositing', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCISourceOutCompositing', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCISourceOverCompositing', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCISubtractBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCIBumpDistortion', IosScaleCenterRadiusConfig<Rest>> | ConfigCase<'IosCIBumpDistortionLinear', IosCIBumpDistortionLinearConfig<Rest>> | ConfigCase<'IosCICircleSplashDistortion', IosCenterRadiusConfig<Rest>> | ConfigCase<'IosCICircularWrap', IosAngleCenterRadiusConfig<Rest>> | ConfigCase<'IosCIDroste', IosCIDrosteConfig<Rest>> | ConfigCase<'IosCIDisplacementDistortion', IosCIDisplacementDistortionConfig<Rest>> | ConfigCase<'IosCIGlassDistortion', IosCIGlassDistortionConfig<Rest>> | ConfigCase<'IosCIGlassLozenge', IosCIGlassLozengeConfig<Rest>> | ConfigCase<'IosCIHoleDistortion', IosCenterRadiusConfig<Rest>> | ConfigCase<'IosCILightTunnel', IosCILightTunnelConfig<Rest>> | ConfigCase<'IosCIPinchDistortion', IosScaleCenterRadiusConfig<Rest>> | ConfigCase<'IosCIStretchCrop', IosCIStretchCropConfig<Rest>> | ConfigCase<'IosCITorusLensDistortion', IosCITorusLensDistortionConfig<Rest>> | ConfigCase<'IosCITwirlDistortion', IosAngleCenterRadiusConfig<Rest>> | ConfigCase<'IosCIVortexDistortion', IosAngleCenterRadiusConfig<Rest>> | ConfigCase<'IosCIAztecCodeGenerator', IosCIAztecCodeGeneratorConfig<Rest>> | ConfigCase<'IosCICheckerboardGenerator', IosCICheckerboardGeneratorConfig<Rest>> | ConfigCase<'IosCIConstantColorGenerator', IosColorConfig<Rest>> | ConfigCase<'IosCILenticularHaloGenerator', IosCILenticularHaloGeneratorConfig<Rest>> | ConfigCase<'IosCIQRCodeGenerator', IosCIQRCodeGeneratorConfig<Rest>> | ConfigCase<'IosCIRandomGenerator', IosCommonConfig<Rest>> | ConfigCase<'IosCIStarShineGenerator', IosCIStarShineGeneratorConfig<Rest>> | ConfigCase<'IosCIStripesGenerator', IosCIStripesGeneratorConfig<Rest>> | ConfigCase<'IosCISunbeamsGenerator', IosCISunbeamsGeneratorConfig<Rest>> | ConfigCase<'IosCICrop', IosCICropConfig<Rest>> | ConfigCase<'IosCILanczosScaleTransform', IosCILanczosScaleTransformConfig<Rest>> | ConfigCase<'IosCIPerspectiveCorrection', IosCIPerspectiveCorrectionConfig<Rest>> | ConfigCase<'IosCIPerspectiveTransform', IosPerspectiveConfig<Rest>> | ConfigCase<'IosCIPerspectiveTransformWithExtent', IosCIPerspectiveTransformWithExtentConfig<Rest>> | ConfigCase<'IosCIStraightenFilter', IosCIStraightenFilterConfig<Rest>> | ConfigCase<'IosCIGaussianGradient', IosCIGaussianGradientConfig<Rest>> | ConfigCase<'IosCILinearGradient', IosCILinearGradientConfig<Rest>> | ConfigCase<'IosCIRadialGradient', IosCIRadialGradientConfig<Rest>> | ConfigCase<'IosCISmoothLinearGradient', IosCILinearGradientConfig<Rest>> | ConfigCase<'IosCICircularScreen', IosHalftoneEffectConfig<Rest>> | ConfigCase<'IosCICMYKHalftone', IosCICMYKHalftoneConfig<Rest>> | ConfigCase<'IosCIDotScreen', IosAngleHalftoneEffectConfig<Rest>> | ConfigCase<'IosCIHatchedScreen', IosAngleHalftoneEffectConfig<Rest>> | ConfigCase<'IosCILineScreen', IosAngleHalftoneEffectConfig<Rest>> | ConfigCase<'IosCIAreaAverage', IosAreaConfig<Rest>> | ConfigCase<'IosCIAreaHistogram', IosCIAreaHistogramConfig<Rest>> | ConfigCase<'IosCIRowAverage', IosAreaConfig<Rest>> | ConfigCase<'IosCIColumnAverage', IosAreaConfig<Rest>> | ConfigCase<'IosCIHistogramDisplayFilter', IosCIHistogramDisplayFilterConfig<Rest>> | ConfigCase<'IosCIAreaMaximum', IosAreaConfig<Rest>> | ConfigCase<'IosCIAreaMinimum', IosAreaConfig<Rest>> | ConfigCase<'IosCIAreaMaximumAlpha', IosAreaConfig<Rest>> | ConfigCase<'IosCIAreaMinimumAlpha', IosAreaConfig<Rest>> | ConfigCase<'IosCISharpenLuminance', IosCISharpenLuminanceConfig<Rest>> | ConfigCase<'IosCIUnsharpMask', IosCIUnsharpMaskConfig<Rest>> | ConfigCase<'IosCIBloom', IosCIBloomConfig<Rest>> | ConfigCase<'IosCIComicEffect', IosCommonConfig<Rest>> | ConfigCase<'IosCIConvolution3X3', IosConvolutionConfig<Rest>> | ConfigCase<'IosCIConvolution5X5', IosCIConvolution5X5Config<Rest>> | ConfigCase<'IosCIConvolution7X7', IosCIConvolution7X7Config<Rest>> | ConfigCase<'IosCIConvolution9Horizontal', IosConvolutionConfig<Rest>> | ConfigCase<'IosCIConvolution9Vertical', IosConvolutionConfig<Rest>> | ConfigCase<'IosCICrystallize', IosCenterRadiusConfig<Rest>> | ConfigCase<'IosCIEdges', IosCIEdgesConfig<Rest>> | ConfigCase<'IosCIEdgeWork', IosRadiusConfig<Rest>> | ConfigCase<'IosCIGloom', IosCIGloomConfig<Rest>> | ConfigCase<'IosCIHeightFieldFromMask', IosRadiusConfig<Rest>> | ConfigCase<'IosCIHexagonalPixellate', IosCIHexagonalPixellateConfig<Rest>> | ConfigCase<'IosCIHighlightShadowAdjust', IosCIHighlightShadowAdjustConfig<Rest>> | ConfigCase<'IosCILineOverlay', IosCILineOverlayConfig<Rest>> | ConfigCase<'IosCIPixellate', IosCIPixellateConfig<Rest>> | ConfigCase<'IosCIPointillize', IosCenterRadiusConfig<Rest>> | ConfigCase<'IosCIShadedMaterial', IosCIShadedMaterialConfig<Rest>> | ConfigCase<'IosCISpotColor', IosCISpotColorConfig<Rest>> | ConfigCase<'IosCISpotLight', IosCISpotLightConfig<Rest>> | ConfigCase<'IosCIEightfoldReflectedTile', IosTileConfig<Rest>> | ConfigCase<'IosCIFourfoldReflectedTile', IosTileConfig<Rest>> | ConfigCase<'IosCIFourfoldRotatedTile', IosTileConfig<Rest>> | ConfigCase<'IosCIFourfoldTranslatedTile', IosCIFourfoldTranslatedTileConfig<Rest>> | ConfigCase<'IosCIGlideReflectedTile', IosTileConfig<Rest>> | ConfigCase<'IosCIKaleidoscope', IosCIKaleidoscopeConfig<Rest>> | ConfigCase<'IosCIOpTile', IosCIOpTileConfig<Rest>> | ConfigCase<'IosCIParallelogramTile', IosCIFourfoldTranslatedTileConfig<Rest>> | ConfigCase<'IosCIPerspectiveTile', IosPerspectiveConfig<Rest>> | ConfigCase<'IosCISixfoldReflectedTile', IosTileConfig<Rest>> | ConfigCase<'IosCISixfoldRotatedTile', IosTileConfig<Rest>> | ConfigCase<'IosCITriangleKaleidoscope', IosCITriangleKaleidoscopeConfig<Rest>> | ConfigCase<'IosCITriangleTile', IosTileConfig<Rest>> | ConfigCase<'IosCITwelvefoldReflectedTile', IosTileConfig<Rest>> | ConfigCase<'IosCIXRay', IosCommonConfig<Rest>> | ConfigCase<'IosCIThermal', IosCommonConfig<Rest>> | ConfigCase<'IosCIMorphologyGradient', IosRadiusConfig<Rest>> | ConfigCase<'IosCIDisparityToDepth', IosCommonConfig<Rest>> | ConfigCase<'IosCIBokehBlur', IosCIBokehBlurConfig<Rest>> | ConfigCase<'IosCISaliencyMapFilter', IosCommonConfig<Rest>> | ConfigCase<'IosCISampleNearest', IosCommonConfig<Rest>> | ConfigCase<'IosCIMix', IosCIMixConfig<Rest>> | ConfigCase<'IosCIDepthToDisparity', IosCommonConfig<Rest>> | ConfigCase<'IosCITextImageGenerator', IosCITextImageGeneratorConfig<Rest>> | ConfigCase<'IosCIHueSaturationValueGradient', IosCIHueSaturationValueGradientConfig<Rest>> | ConfigCase<'IosCIMorphologyMaximum', IosRadiusConfig<Rest>> | ConfigCase<'IosCIMorphologyMinimum', IosRadiusConfig<Rest>> | ConfigCase<'IosCINinePartStretched', IosCINinePartStretchedConfig<Rest>> | ConfigCase<'IosCIWrapMirror', IosCommonConfig<Rest>> | ConfigCase<'IosCIMirror', IosCIMirrorConfig<Rest>> | ConfigCase<'IosCIAreaMinMaxRed', IosAreaConfig<Rest>> | ConfigCase<'IosCIAreaMinMax', IosAreaConfig<Rest>> | ConfigCase<'IosCICheatBlur', IosDistanceAmountConfig<Rest>> | ConfigCase<'IosCICheapMorphology', IosRadiusConfig<Rest>> | ConfigCase<'IosCIMorphology', IosRadiusConfig<Rest>> | ConfigCase<'IosCICheapBlur', IosCICheapBlurConfig<Rest>> | ConfigCase<'IosCIDither', IosCIDitherConfig<Rest>> | ConfigCase<'IosCIVividLightBlendMode', IosCIBackgroundImageCompositionConfig<Rest>> | ConfigCase<'IosCISkyAndGrassAdjust', IosCISkyAndGrassAdjustConfig<Rest>> | ConfigCase<'IosCIRingBlur', IosCIRingBlurConfig<Rest>> | ConfigCase<'IosCIPremultiply', IosCommonConfig<Rest>> | ConfigCase<'IosCIPhotoGrain', IosCIPhotoGrainConfig<Rest>> | ConfigCase<'IosCIUnpremultiply', IosCommonConfig<Rest>> | ConfigCase<'IosCILocalContrast', IosCILocalContrastConfig<Rest>> | ConfigCase<'IosCILinearBlur', IosRadiusConfig<Rest>> | ConfigCase<'IosCIGaussianBlurXY', IosCIGaussianBlurXYConfig<Rest>> | ConfigCase<'IosCIDocumentEnhancer', IosScalarAmountConfig<Rest>> | ConfigCase<'IosCIClamp', IosAreaConfig<Rest>> | ConfigCase<'IosCIASG50Percent', IosCommonConfig<Rest>> | ConfigCase<'IosCIASG60Percent', IosCommonConfig<Rest>> | ConfigCase<'IosCIASG66Percent', IosCommonConfig<Rest>> | ConfigCase<'IosCIASG75Percent', IosCommonConfig<Rest>> | ConfigCase<'IosCIASG80Percent', IosCommonConfig<Rest>> | ConfigCase<'IosCIPaperWash', IosCIPaperWashConfig<Rest>> | ConfigCase<'AndroidColorMatrixColorFilter', ColorMatrixConfig<Rest>> | ConfigCase<'AndroidIterativeBoxBlur', AndroidIterativeBoxBlurConfig<Rest>> | ConfigCase<'AndroidLightingColorFilter', AndroidLightingColorFilterConfig<Rest>> | ConfigCase<'AndroidRoundAsCircle', CommonConfig<Rest>> | ConfigCase<'AndroidColor', ColorConfig<Rest>> | ConfigCase<'AndroidLinearGradient', AndroidLinearGradientConfig<Rest>> | ConfigCase<'AndroidRadialGradient', AndroidRadialGradientConfig<Rest>> | ConfigCase<'AndroidSweepGradient', AndroidSweepGradientConfig<Rest>> | ConfigCase<'AndroidPorterDuffColorFilter', AndroidPorterDuffColorFilterConfig<Rest>> | ConfigCase<'AndroidPorterDuffXfermode', AndroidPorterDuffXfermodeConfig<Rest>> | ConfigCase<'AndroidScriptIntrinsicBlur', AndroidScriptIntrinsicBlurConfig<Rest>> | ConfigCase<'AndroidScriptIntrinsicConvolve3x3', AndroidScriptIntrinsicConvolve3x3Config<Rest>> | ConfigCase<'AndroidScriptIntrinsicConvolve5x5', AndroidScriptIntrinsicConvolve5x5Config<Rest>> | ConfigCase<'AndroidTextImage', AndroidTextImageConfig<Rest>> | Rest export type ImageFilterProps<Rest> = ViewProps & Rest & { readonly onFilteringStart?: (event: NativeSyntheticEvent<{}>) => void readonly onFilteringFinish?: (event: NativeSyntheticEvent<{}>) => void readonly onFilteringError?: (event: NativeSyntheticEvent<{ message: string }>) => void readonly clearCachesMaxRetries?: number } export declare class GenericImageFilter<Rest> extends React.Component<ImageFilterProps<{ readonly config: Config<Rest> }>> { } export declare class ImageFilter extends GenericImageFilter<never> { } export declare class ColorMatrix extends React.Component<ImageFilterProps<ColorMatrixConfig>> { } export declare class Normal extends React.Component<ImageFilterProps<CommonConfig>> { } export declare class RGBA extends React.Component<ImageFilterProps<RGBAConfig>> { } export declare class Saturate extends React.Component<ImageFilterProps<CommonConfig>