export interface IActivityLog {
    id?: string;
    activityTime: string;
    activityType: string;
    userName?: string;
    userId?: string;
    deviceName?: string;
    deviceId?: string;
    siteName?: string;
    siteId?: string;
    message: string;
    severity?: 'low' | 'medium' | 'high' | 'critical';
    status?: string;
    activityResult?: 'success' | 'failure' | 'pending' | 'cancelled';
    priority?: 'none' | 'low' | 'medium' | 'high' | 'critical';
    sourceConfigUid?: string;
    sourceName?: string;
    subject?: string;
    data?: Record<string, any>;
    seriesUid?: string;
    statusCode?: string;
    type?: string;
}
export interface IActivityLogFilters {
    dateFrom?: string;
    dateTo?: string;
    activityType?: string[];
    userId?: string;
    deviceId?: string;
    siteId?: string;
    severity?: 'low' | 'medium' | 'high' | 'critical';
    sortBy?: 'activityTime' | 'activityType' | 'userName' | 'deviceName' | 'siteName' | 'severity';
    sortOrder?: 'asc' | 'desc';
    limit?: number;
    offset?: number;
}
export interface IActivityLogSearchOptions extends IActivityLogFilters {
    search: string;
    caseSensitive?: boolean;
}
export interface IActivityLogResponse {
    data: IActivityLog[];
    total?: number;
    count?: number;
    pagination?: {
        offset: number;
        limit: number;
        hasMore: boolean;
    };
}
export interface IDeviceActivityOptions {
    deviceUid: string;
    returnAll?: boolean;
    limit?: number;
    dateFrom?: string;
    dateTo?: string;
    activityType?: string[];
}
export interface ISiteActivityOptions {
    siteUid: string;
    returnAll?: boolean;
    limit?: number;
    dateFrom?: string;
    dateTo?: string;
    activityType?: string[];
    includeDevices?: boolean;
}
export interface IUserActivityOptions {
    userId: string;
    returnAll?: boolean;
    limit?: number;
    dateFrom?: string;
    dateTo?: string;
    activityType?: string[];
}
export interface IActivityLogOutputOptions {
    includeUserDetails?: boolean;
    includeDeviceDetails?: boolean;
    includeSiteDetails?: boolean;
    fields?: string[];
}
export declare enum ActivityType {
    LOGIN = "login",
    LICENSING = "licensing",
    PASSWORD_RESET = "password_reset",
    TWO_FACTOR_RESET = "two_factor_reset",
    SUPPORT_ACCESS = "support_access",
    USER_MANAGEMENT = "user_management",
    DEVICE_MANAGEMENT = "device_management",
    SITE_MANAGEMENT = "site_management",
    POLICY_DEPLOYMENT = "policy_deployment",
    MONITOR_MANAGEMENT = "monitor_management",
    COMPONENT_ACTIVITY = "component_activity",
    JOB_EXECUTION = "job_execution",
    REPORT_ACTIVITY = "report_activity",
    DEVICE_CONNECTION = "device_connection",
    DEVICE_CONFIGURATION = "device_configuration",
    MONITOR_ACTIVITY = "monitor_activity",
    COMPONENT_EXECUTION = "component_execution",
    POLICY_CHANGES = "policy_changes",
    SOFTWARE_CHANGES = "software_changes",
    HARDWARE_CHANGES = "hardware_changes"
}
export declare enum DeviceActivityType {
    CONNECTION = "device_connection",
    CONFIGURATION = "device_configuration",
    MONITOR_ACTIVITY = "monitor_activity",
    COMPONENT_EXECUTION = "component_execution",
    JOB_EXECUTION = "job_execution",
    POLICY_CHANGES = "policy_changes",
    SOFTWARE_CHANGES = "software_changes",
    HARDWARE_CHANGES = "hardware_changes"
}
export declare enum SiteActivityType {
    SITE_MANAGEMENT = "site_management",
    DEVICE_MANAGEMENT = "device_management",
    POLICY_DEPLOYMENT = "policy_deployment",
    USER_ACCESS = "user_access",
    MONITOR_ACTIVITY = "monitor_activity",
    COMPONENT_ACTIVITY = "component_activity",
    JOB_EXECUTION = "job_execution"
}
export declare enum UserActivityType {
    LOGIN = "login",
    PASSWORD_CHANGES = "password_changes",
    TWO_FACTOR_ACTIVITY = "two_factor_activity",
    USER_MANAGEMENT = "user_management",
    DEVICE_ACCESS = "device_access",
    SITE_ACCESS = "site_access",
    CONFIGURATION_CHANGES = "configuration_changes",
    REPORT_ACTIVITY = "report_activity"
}
export declare enum ActivitySeverity {
    LOW = "low",
    MEDIUM = "medium",
    HIGH = "high",
    CRITICAL = "critical"
}
export declare enum ActivityResult {
    SUCCESS = "success",
    FAILURE = "failure",
    PENDING = "pending",
    CANCELLED = "cancelled"
}
export declare enum ActivityPriority {
    NONE = "none",
    LOW = "low",
    MEDIUM = "medium",
    HIGH = "high",
    CRITICAL = "critical"
}
