import { CommandParser } from '../client/parser';
import { RedisArgument, TuplesReply, BlobStringReply, DoubleReply } from '../RESP/types';
export interface IncrExByFloatOptions {
    lowerBound?: RedisArgument | number;
    upperBound?: RedisArgument | number;
    /**
     * Out-of-bounds policy.
     * - `true`  — clamp the result to `lowerBound`/`upperBound` (or to type limits if no explicit bound).
     * - `false` or omitted (default) — the operation is rejected silently: the reply is
     *   `[currentValue, 0]` and the key's value and TTL are left unchanged. An
     *   `actualIncrement` of `0` always indicates a rejected out-of-bounds operation.
     */
    saturate?: boolean;
    expiration?: {
        type: 'EX' | 'PX' | 'EXAT' | 'PXAT';
        value: number;
        ENX?: boolean;
    } | {
        type: 'PERSIST';
    };
}
declare const _default: {
    readonly parseCommand: (this: void, parser: CommandParser, key: RedisArgument, value: RedisArgument | number, options?: IncrExByFloatOptions) => void;
    readonly transformReply: {
        readonly 2: () => TuplesReply<[BlobStringReply, BlobStringReply]>;
        readonly 3: () => TuplesReply<[DoubleReply, DoubleReply]>;
    };
};
export default _default;
//# sourceMappingURL=INCREXBYFLOAT.d.ts.map