import React, { PropsWithChildren } from 'react';
import { RenderCallback } from 'react-native-filament';
import { ISharedValue } from 'react-native-worklets-core';
type RenderCallbackList = {
    callback: RenderCallback;
    id: string;
}[];
/**
 * In react-native-filament we can only have one render callback, which we provide to the FilamentView.
 * This context allows us to have multiple render callbacks, as we call them in the render callback.
 */
type RenderContextType = {
    renderCallbacks: ISharedValue<RenderCallbackList>;
    addRenderCallback: (callback: RenderCallback) => () => void;
};
export declare const makeRenderContext: () => {
    useRenderContext: () => RenderContextType;
    RenderContextProvider: ({ children }: PropsWithChildren) => React.JSX.Element;
    useRenderCallback: (callback: RenderCallback, deps: React.DependencyList) => RenderCallback;
    useRenderCallbacks: () => ISharedValue<RenderCallbackList>;
};
export declare const RenderCallbackContext: {
    useRenderContext: () => RenderContextType;
    RenderContextProvider: ({ children }: PropsWithChildren) => React.JSX.Element;
    useRenderCallback: (callback: RenderCallback, deps: React.DependencyList) => RenderCallback;
    useRenderCallbacks: () => ISharedValue<RenderCallbackList>;
};
export {};
//# sourceMappingURL=RenderCallbackContext.d.ts.map