/** Every mode this can evaluate, which is every one canvas has. */ export declare const BLEND_MODES: readonly string[]; /** * The source over the destination with a blend applied, computed rather than * left to fixed function factors. * * Canvas composites a blended mark as `as*(1-ab)*Cs + as*ab*B(Cb,Cs) + * (1-as)*ab*Cb`. One set of factors reaches the destination or weights the * source by its own alpha, not both, so multiply and screen come out exact only * because their algebra happens to fold, and min and max have no term to * interpolate with at all: darken and lighten are wrong wherever the source is * not fully opaque, which includes every antialiased edge. * * The mark is drawn into a layer of its own instead, the frame is copied out * beneath it, and this evaluates the formula on the two and replaces the pixel. */ export declare const blendCompositeShader: (blend: string) => string;