import { ReactNode } from 'react';
export interface CounterProps {
    id: string;
    min?: number;
    max?: number;
    start?: number;
    maxAlert?: ReactNode;
    onChange?: (count: number, prev?: number) => void;
    saveAsync?: (count: number, prev?: number) => Promise<void>;
}
export declare const Counter: {
    ({ id, min, max, start, maxAlert, onChange, saveAsync }: CounterProps): import("theme-ui/jsx-runtime").JSX.Element;
    Controlled: typeof ControlledCounter;
};
export interface ControlledCounterProps {
    count: number;
    isMax: boolean;
    isMin: boolean;
    maxAlert?: ReactNode;
    increment: () => void;
    decrement: () => void;
    notification?: 'success' | 'failure';
}
declare function ControlledCounter({ count, isMax, isMin, maxAlert, increment, decrement, notification, }: ControlledCounterProps): import("theme-ui/jsx-runtime").JSX.Element;
export {};
