/**
 * cloakbrowser-human — Configuration and presets.
 *
 * All numeric parameters for human-like behavior are centralized here.
 * Two built-in presets: 'default' (normal human speed) and 'careful' (slower, more cautious).
 */
export interface HumanConfig {
    typing_delay: number;
    typing_delay_spread: number;
    typing_pause_chance: number;
    typing_pause_range: [number, number];
    shift_down_delay: [number, number];
    shift_up_delay: [number, number];
    key_hold: [number, number];
    field_switch_delay: [number, number];
    mistype_chance: number;
    mistype_delay_notice: [number, number];
    mistype_delay_correct: [number, number];
    mouse_steps_divisor: number;
    mouse_min_steps: number;
    mouse_max_steps: number;
    mouse_wobble_max: number;
    mouse_overshoot_chance: number;
    mouse_overshoot_px: [number, number];
    mouse_burst_size: [number, number];
    mouse_burst_pause: [number, number];
    click_aim_delay_input: [number, number];
    click_aim_delay_button: [number, number];
    click_hold_input: [number, number];
    click_hold_button: [number, number];
    click_input_x_range: [number, number];
    idle_drift_px: number;
    idle_pause_range: [number, number];
    scroll_delta_base: [number, number];
    scroll_delta_variance: number;
    scroll_pause_fast: [number, number];
    scroll_pause_slow: [number, number];
    scroll_accel_steps: [number, number];
    scroll_decel_steps: [number, number];
    scroll_overshoot_chance: number;
    scroll_overshoot_px: [number, number];
    scroll_settle_delay: [number, number];
    scroll_target_zone: [number, number];
    scroll_pre_move_delay: [number, number];
    initial_cursor_x: [number, number];
    initial_cursor_y: [number, number];
    idle_between_actions: boolean;
    idle_between_duration: [number, number];
}
export type HumanPreset = 'default' | 'careful';
export type HumanActionOptions = Partial<HumanConfig> & {
    timeout?: number;
    force?: boolean;
    human_config?: Partial<HumanConfig>;
};
/**
 * Resolve a preset name or partial config into a full HumanConfig.
 * If `preset` is a string, returns the corresponding built-in config.
 * Any keys in `overrides` replace the preset values.
 */
export declare function resolveConfig(preset?: HumanPreset, overrides?: Partial<HumanConfig>): HumanConfig;
/**
 * Merge a partial overrides object on top of an existing HumanConfig.
 * Returns a new object — the original ``cfg`` is never mutated.
 *
 * Used by per-call overrides such as ``page.type(sel, text, { human_config: { typing_delay: 30 } })``
 * so the same patched page can type different fields at different speeds
 * without re-patching.
 */
export declare function mergeConfig(cfg: HumanConfig, overrides?: Partial<HumanConfig> | null): HumanConfig;
/** Random float in [min, max]. */
export declare function rand(min: number, max: number): number;
/** Random integer in [min, max] (inclusive). */
export declare function randInt(min: number, max: number): number;
/** Random value from a [min, max] tuple. */
export declare function randRange(range: [number, number]): number;
/** Random integer from a [min, max] tuple. */
export declare function randIntRange(range: [number, number]): number;
/** Sleep for `ms` milliseconds. */
export declare function sleep(ms: number): Promise<void>;
//# sourceMappingURL=config.d.ts.map