export interface CompliancePolicy {
    compliance_id: number;
    collection_id: number;
    compliance_status: number;
    compliance_name: string;
    platform_type: number;
    created_by: number;
    created_by_name: string;
    creation_time: number;
    last_modified_by: number;
    last_modified_by_name: string;
    last_modified_time: number;
    total_count: number;
    yet_to_evaluate_count: number;
    compliant_devices_count: number;
    non_compliant_devices_count: number;
    not_applicable_count: number;
    notification_sent_count: number;
}
export interface RuleCriterion {
    rule_criteria_type: number;
    geo_fence_id: number;
    rule_criteria_state: number;
}
export interface Rule {
    rule_name: string;
    rule_criterions: RuleCriterion[];
    evaluation_order: number;
    rule_id: number;
}
export interface AlertEmailId {
    email: string;
    user_name: string;
}
export interface ActionAttribute {
    execution_order: number;
    time_to_execution: number;
    action_attribute_type: number;
    phone_number: number;
    lock_message?: string;
    unlock_pin?: string;
    is_remote_alarm: boolean;
    is_mark_as_non_compliant: boolean;
    alert_email_ids: AlertEmailId[];
    subject: string;
    body_message: string;
}
export interface Action {
    action_attributes: ActionAttribute[];
}
export interface Policy {
    rule: Rule;
    action: Action;
}
export interface ComplianceCreateRequest {
    policies: Policy[];
    description: string;
    compliance_name: string;
}
export interface ComplianceCreateResponse extends ComplianceCreateRequest {
    collection_id: number;
    is_moved_to_trash: boolean;
    compliance_id: number;
}
export interface ComplianceUpdateResponse {
    collection_id: number;
    user_id: number;
    compliance_file_name_path: string;
    remove_compliance_file_name_path: string;
    customer_id: number;
    compliance_id: number;
    compliance_name: string;
}
export interface CompliancePoliciesResponse {
    compliance_policies: CompliancePolicy[];
}
export interface DeleteMultipleRequest {
    compliance_ids: string[];
}
export interface ComplianceGroup {
    group_id: number;
    group_name: string;
    group_type: number;
    member_count: number;
}
export interface ComplianceGroupListResponse {
    group_list: ComplianceGroup[];
    compliance_id: number;
}
export interface ComplianceGroupDevice {
    device_id: number;
    device_name: string;
    device_platform: number;
    device_compliance_state: string;
    compliance_score: number;
}
export interface ComplianceGroupDetailsResponse {
    group_id: number;
    group_name: string;
    devices: ComplianceGroupDevice[];
    group_compliance_state: string;
    compliance_id: number;
    compliance_name: string;
}
export interface AssociateGroupsRequest {
    id?: string;
    group_ids: string[];
}
