import { CommandParser } from '../client/parser';
import { SimpleStringReply } from '../RESP/types';
/**
 * Metrics to track for hotkeys
 */
export declare const HOTKEYS_METRICS: {
    readonly CPU: "CPU";
    readonly NET: "NET";
};
export type HotkeysMetric = typeof HOTKEYS_METRICS[keyof typeof HOTKEYS_METRICS];
/**
 * Options for HOTKEYS START command
 */
export interface HotkeysStartOptions {
    /**
     * Metrics to track. At least one must be specified.
     * CPU: CPU time spent on the key
     * NET: Sum of ingress/egress/replication network bytes used by the key
     */
    METRICS: {
        count: number;
        CPU?: boolean;
        NET?: boolean;
    };
    /**
     * How many keys to report. Default: 10, min: 10, max: 64
     */
    COUNT?: number;
    /**
     * Automatically stop tracking after this many seconds. Default: 0 (no auto-stop)
     */
    DURATION?: number;
    /**
     * Log a key with probability 1/ratio. Default: 1 (track every key), min: 1
     */
    SAMPLE?: number;
    /**
     * Only track keys from specified slots
     */
    SLOTS?: {
        count: number;
        slots: Array<number>;
    };
}
/**
 * HOTKEYS START command - starts hotkeys tracking
 *
 * State transitions:
 * - EMPTY -> ACTIVE
 * - STOPPED -> ACTIVE (fresh)
 * - ACTIVE -> ERROR
 */
declare const _default: {
    readonly NOT_KEYED_COMMAND: true;
    readonly IS_READ_ONLY: false;
    /**
     * Starts hotkeys tracking with specified options.
     * @param parser - The Redis command parser
     * @param options - Configuration options for hotkeys tracking
     * @see https://redis.io/commands/hotkeys-start/
     */
    readonly parseCommand: (this: void, parser: CommandParser, options: HotkeysStartOptions) => void;
    readonly transformReply: () => SimpleStringReply<'OK'>;
};
export default _default;
//# sourceMappingURL=HOTKEYS_START.d.ts.map