import { Animated, EasingFunction } from 'react-native';
import { NativeAnimatedAnimateConfig, NativeAnimatedStyles, NativeAnimatedTransformStyles, NativeAnimateOutputs } from './types';
export declare const DEFAULT_NATIVE_ANIMATE_DURATION = 300;
export declare const DEFAULT_NATIVE_ANIMATE_CONFIG: {
    extrapolate: string;
};
export declare function useNativeAnimate(defaultValue?: number): {
    readonly value: Animated.Value;
    readonly animate: (outputs: NativeAnimateOutputs, config?: NativeAnimatedAnimateConfig) => NativeAnimatedStyles | {
        transform: NativeAnimatedTransformStyles;
    };
    readonly timing: (toValue: number, duration?: number, delay?: number, easing?: EasingFunction) => {
        stop(): void;
        start(failDelay?: number): Promise<boolean>;
        reset(): void;
    };
    readonly fixed: (value: number) => number;
    readonly wait: (waitDuration?: number) => Promise<void>;
};
export type UseNativeAnimate = ReturnType<typeof useNativeAnimate>;
