import { type NumpadKey } from '../utils/numpadInput'; /** * The value sits over the source's ceiling — the floor's mirror, and read the * same way: a state the amount is allowed to hold while the screen names it. */ export declare function isAboveMaximum(value: string, limitUsd?: string): boolean; /** * The value sits under the source's floor. Empty and zero are the untouched * state rather than a violation — there is nothing yet to be too small. */ export declare function isBelowMinimum(value: string, minLimitUsd?: string): boolean; /** * An amount screen's input policy, separate from its layout. Every way a value * enters — a numpad key or a quick-amount chip — commits through this hook, so * the policy lives in exactly one place. * * `limitUsd` is the source's maximum, wherever it came from — the host's own * figure, the corridor's, or the one a refusal reports. The digit lands, the * amount jolts, and the screen names the bound and offers the way back, so the * buyer is always told the number they can have rather than left guessing at * a key that does nothing. * * Only a meaningless edit is refused outright besides — deleting from zero, or * any edit while `disabled` — and a zero typed onto zero is a no-op that swells * to acknowledge it. */ export declare function useGuardedAmountInput({ input, onChangeInput, limitUsd, disabled, }: { input: string; onChangeInput: (input: string) => void; /** The source's maximum; a value past it lands and the screen names it. */ limitUsd?: string; /** Locks the value: every numpad/chip commit rejects instead of applying. */ disabled?: boolean; }): { hasWarning: boolean; feedbackStyle: import("react-native-reanimated/lib/typescript/hook/commonTypes").AnimatedStyleHandle<{ transform: ({ translateX: number; scale?: undefined; } | { scale: number; translateX?: undefined; })[]; }>; commitInput: (next: string) => void; handleNumpadKey: (key: NumpadKey) => void; pulseAmount: () => void; }; //# sourceMappingURL=useGuardedAmountInput.d.ts.map