import type { SharedValue } from "react-native-reanimated";
import type { BaseRecorder, JsiRecorder, Skia } from "../../skia/types";
import type { PaintProps, NodeType, BlurMaskFilterProps, CTMProps, BoxProps, BoxShadowProps, ImageProps, CircleProps, PointsProps, PathProps, RectProps, RoundedRectProps, OvalProps, LineProps, PatchProps, VerticesProps, DiffRectProps, TextProps, TextPathProps, TextBlobProps, GlyphsProps, PictureProps, ImageSVGProps, ParagraphProps, AtlasProps, SkottieProps, DrawingNodeProps } from "../../dom/types";
import type { AnimatedProps } from "../../renderer";
/**
 * Currently the recorder only work if the GPU resources (e.g Images) are owned by the main thread.
 * It will crash otherwise on Ganesh (iOS/Android).
 */
export declare class ReanimatedRecorder implements BaseRecorder {
    private values;
    private recorder;
    constructor(Skia: Skia);
    reset(): void;
    private processAnimationValues;
    getRecorder(): JsiRecorder;
    getSharedValues(): SharedValue<unknown>[];
    saveGroup(props?: AnimatedProps<Pick<DrawingNodeProps, "zIndex">>): void;
    restoreGroup(): void;
    savePaint(props: AnimatedProps<PaintProps>, standalone: boolean): void;
    restorePaint(): void;
    restorePaintDeclaration(): void;
    materializePaint(): void;
    pushPathEffect(pathEffectType: NodeType, props: AnimatedProps<unknown>): void;
    pushImageFilter(imageFilterType: NodeType, props: AnimatedProps<unknown>): void;
    pushColorFilter(colorFilterType: NodeType, props: AnimatedProps<unknown>): void;
    pushShader(shaderType: NodeType, props: AnimatedProps<unknown>, children: number): void;
    pushBlurMaskFilter(props: AnimatedProps<BlurMaskFilterProps>): void;
    composePathEffect(): void;
    composeColorFilter(): void;
    composeImageFilter(): void;
    saveCTM(props: AnimatedProps<CTMProps>): void;
    restoreCTM(): void;
    drawPaint(): void;
    saveLayer(): void;
    saveBackdropFilter(): void;
    drawBox(boxProps: AnimatedProps<BoxProps>, shadows: {
        props: BoxShadowProps;
    }[]): void;
    drawImage(props: AnimatedProps<ImageProps>): void;
    drawCircle(props: AnimatedProps<CircleProps>): void;
    drawPoints(props: AnimatedProps<PointsProps>): void;
    drawPath(props: AnimatedProps<PathProps>): void;
    drawRect(props: AnimatedProps<RectProps>): void;
    drawRRect(props: AnimatedProps<RoundedRectProps>): void;
    drawOval(props: AnimatedProps<OvalProps>): void;
    drawLine(props: AnimatedProps<LineProps>): void;
    drawPatch(props: AnimatedProps<PatchProps>): void;
    drawVertices(props: AnimatedProps<VerticesProps>): void;
    drawDiffRect(props: AnimatedProps<DiffRectProps>): void;
    drawText(props: AnimatedProps<TextProps>): void;
    drawTextPath(props: AnimatedProps<TextPathProps>): void;
    drawTextBlob(props: AnimatedProps<TextBlobProps>): void;
    drawGlyphs(props: AnimatedProps<GlyphsProps>): void;
    drawPicture(props: AnimatedProps<PictureProps>): void;
    drawImageSVG(props: AnimatedProps<ImageSVGProps>): void;
    drawParagraph(props: AnimatedProps<ParagraphProps>): void;
    drawAtlas(props: AnimatedProps<AtlasProps>): void;
    drawSkottie(props: AnimatedProps<SkottieProps>): void;
}
