export declare enum LogLevel {
    ERROR = "ERROR",
    WARN = "WARN",
    INFO = "INFO",
    DEBUG = "DEBUG"
}
export declare enum AlertType {
    SLOW_REQUEST = "SLOW_REQUEST",
    HIGH_ERROR_RATE = "HIGH_ERROR_RATE",
    DISK_SPACE = "DISK_SPACE",
    IP_ANOMALY = "IP_ANOMALY"
}
export declare enum AlertStatus {
    SENT = "SENT",
    FAILED = "FAILED",
    ACKNOWLEDGED = "ACKNOWLEDGED"
}
export declare enum AlertSeverity {
    CRITICAL = "CRITICAL",
    WARNING = "WARNING",
    INFO = "INFO"
}
export declare class CommonLogQueryDto {
    startTime?: string;
    endTime?: string;
    service?: string;
    region?: string;
    sortBy?: '@timestamp' | 'level' | 'duration' | 'service';
    sortOrder?: 'asc' | 'desc';
    page?: number;
    limit?: number;
}
export declare class QueryLogDto extends CommonLogQueryDto {
    level?: LogLevel;
    traceId?: string;
    requestId?: string;
    userId?: string;
    userName?: string;
    url?: string;
    keyword?: string;
    minDuration?: number;
    maxDuration?: number;
    statusCode?: number;
    hasError?: boolean;
}
export declare class QueryErrorLogDto extends CommonLogQueryDto {
    errorType?: string;
    errorCode?: string;
    userId?: string;
    userName?: string;
    url?: string;
    keyword?: string;
}
export declare class QuerySlowRequestDto extends CommonLogQueryDto {
    thresholdMs?: number;
    url?: string;
    userId?: string;
    userName?: string;
}
export declare class QueryLogStatsDto {
    startTime?: string;
    endTime?: string;
    groupBy?: 'hour' | 'day' | 'service' | 'level' | 'region';
}
export declare class QueryAlertHistoryDto extends CommonLogQueryDto {
    type?: AlertType;
    status?: AlertStatus;
}
declare class DynamicSamplingRulesDto {
    qpsThreshold?: number;
    minSampleRate?: number;
    maxSampleRate?: number;
}
declare class SamplingRulesDto {
    dynamic?: DynamicSamplingRulesDto;
}
declare class SamplingConfigDto {
    enabled?: boolean;
    rules?: SamplingRulesDto;
}
declare class SlowRequestAlertDto {
    enabled?: boolean;
    thresholdMs?: number;
    excludePaths?: string[];
}
declare class ErrorRateAlertDto {
    enabled?: boolean;
    thresholdPercent?: number;
    windowMinutes?: number;
}
declare class DiskSpaceAlertDto {
    enabled?: boolean;
    warningPercent?: number;
    criticalPercent?: number;
}
declare class AlertsConfigDto {
    slowRequest?: SlowRequestAlertDto;
    errorRate?: ErrorRateAlertDto;
    diskSpace?: DiskSpaceAlertDto;
}
export declare class UpdateLogConfigDto {
    level?: LogLevel;
    sampling?: SamplingConfigDto;
    alerts?: AlertsConfigDto;
}
export declare class CleanupLogDto {
    type?: 'http' | 'application' | 'error' | 'all';
    olderThanDays?: number;
    dryRun?: boolean;
}
declare class IpAnomalyAlertDto {
    enabled?: boolean;
    maxRequestsPerMinute?: number;
    blockDurationMinutes?: number;
}
declare class SlackNotificationDto {
    webhookUrl?: string;
    enabled?: boolean;
}
declare class FeishuNotificationDto {
    webhookUrl?: string;
    enabled?: boolean;
}
declare class EmailNotificationDto {
    recipients?: string[];
    enabled?: boolean;
}
declare class NotificationsConfigDto {
    slack?: SlackNotificationDto;
    feishu?: FeishuNotificationDto;
    email?: EmailNotificationDto;
}
export declare class UpdateAlertConfigDto {
    slowRequest?: SlowRequestAlertDto;
    errorRate?: ErrorRateAlertDto;
    ipAnomaly?: IpAnomalyAlertDto;
    diskSpace?: DiskSpaceAlertDto;
    notifications?: NotificationsConfigDto;
}
export declare class TestAlertDto {
    channel: 'slack' | 'feishu' | 'email';
    message?: string;
}
export {};
