import { Ref } from 'vue';
export interface UseCounterOptions {
    /**
     *  Min count
     */
    min?: number;
    /**
     *  Max count
     */
    max?: number;
}
export interface UseCounterActions {
    /**
     * Increment, default delta is 1
     * @param delta number
     * @returns void
     */
    inc: (delta?: number) => void;
    /**
     * Decrement, default delta is 1
     * @param delta number
     * @returns void
     */
    dec: (delta?: number) => void;
    /**
     * Set current value
     * @param value number | ((c: number) => number)
     * @returns void
     */
    set: (value: number | ((c: number) => number)) => void;
    /**
     * Reset current value to initial value
     * @returns void
     */
    reset: () => void;
}
export type ValueParam = number | ((c: number) => number);
declare function useCounter(initialValue?: number, options?: UseCounterOptions): [Ref<number>, UseCounterActions];
export default useCounter;
