/**
 * Scale Monitoring Action
 *
 * Enhanced monitoring activation for incident response.
 * Increases logging verbosity, enables additional alerts, and deploys detection rules.
 *
 * @packageDocumentation
 * @module security/incident/actions/scale-monitoring
 */
import type { ActionDefinition } from '../types.js';
export interface MonitoringEnhancement {
    type: 'log_verbosity' | 'alert_rule' | 'detection_rule' | 'metric_collection' | 'trace_sampling' | 'honeypot';
    target: string;
    previousState?: unknown;
    newState?: unknown;
    activated: boolean;
    activatedAt?: Date;
    expiresAt?: Date;
}
export interface MonitoringRollbackData {
    enhancements: MonitoringEnhancement[];
    incidentId: string;
}
export interface MonitoringScalingService {
    /** Increase log verbosity for a service */
    increaseLogVerbosity(serviceId: string, level: 'debug' | 'trace'): Promise<{
        success: boolean;
        previousLevel: string;
    }>;
    /** Restore log verbosity */
    restoreLogVerbosity(serviceId: string, level: string): Promise<boolean>;
    /** Enable additional alert rules */
    enableAlertRules(ruleIds: string[]): Promise<{
        success: boolean;
        enabledRules: string[];
        previousStates: Record<string, boolean>;
    }>;
    /** Disable alert rules */
    disableAlertRules(ruleIds: string[]): Promise<boolean>;
    /** Deploy threat detection rules */
    deployDetectionRules(rules: {
        id: string;
        pattern: string;
        action: string;
    }[]): Promise<{
        success: boolean;
        deployedRuleIds: string[];
    }>;
    /** Remove detection rules */
    removeDetectionRules(ruleIds: string[]): Promise<boolean>;
    /** Enable enhanced metric collection */
    enableEnhancedMetrics(targets: string[], metricsToCollect: string[]): Promise<{
        success: boolean;
        enabledTargets: string[];
    }>;
    /** Disable enhanced metric collection */
    disableEnhancedMetrics(targets: string[]): Promise<boolean>;
    /** Increase trace sampling rate */
    increaseTraceSampling(serviceId: string, samplingRate: number): Promise<{
        success: boolean;
        previousRate: number;
    }>;
    /** Restore trace sampling rate */
    restoreTraceSampling(serviceId: string, rate: number): Promise<boolean>;
    /** Deploy honeypots */
    deployHoneypots(config: {
        type: string;
        location: string;
    }[]): Promise<{
        success: boolean;
        deployedHoneypots: string[];
    }>;
    /** Remove honeypots */
    removeHoneypots(honeypotIds: string[]): Promise<boolean>;
    /** Get available alert rules for incident type */
    getAvailableAlertRules(incidentType: string): Promise<string[]>;
    /** Get available detection rules for incident type */
    getAvailableDetectionRules(incidentType: string): Promise<{
        id: string;
        pattern: string;
        action: string;
    }[]>;
}
export declare function setMonitoringScalingService(service: MonitoringScalingService): void;
export declare function getMonitoringScalingService(): MonitoringScalingService;
export declare const scaleMonitoringAction: ActionDefinition;
export default scaleMonitoringAction;
//# sourceMappingURL=scale-monitoring.d.ts.map