import { IExecuteFunctions, ILoadOptionsFunctions } from 'n8n-workflow';
import { AirCredentials } from '../../../../credentials/AirApi.credentials';
export interface TriageRule {
    _id: string;
    description: string;
    searchIn: string;
    engine: string;
    organizationIds: string[];
    createdAt: string;
    createdBy: string;
    deletable: boolean;
}
export interface TriageRulesResponse {
    success: boolean;
    result: {
        entities: TriageRule[];
        filters: Array<{
            name: string;
            type: string;
            options: string[];
            filterUrl: string | null;
        }>;
        sortables: string[];
        totalEntityCount: number;
        currentPage: number;
        pageSize: number;
        previousPage: number;
        totalPageCount: number;
        nextPage: number;
    };
    statusCode: number;
    errors: string[];
}
export interface CreateTriageRuleRequest {
    description: string;
    rule: string;
    searchIn?: string;
    engine: string;
    organizationIds: number[];
    tagIds?: string[];
}
export interface CreateTriageRuleResponse {
    success: boolean;
    result: TriageRule & {
        rule: string;
        type: string;
    };
    statusCode: number;
    errors: string[];
}
export interface UpdateTriageRuleRequest {
    description: string;
    rule: string;
    searchIn: string;
    organizationIds: (string | number)[];
}
export interface UpdateTriageRuleResponse {
    success: boolean;
    result: TriageRule & {
        rule: string;
        type: string;
    };
    statusCode: number;
    errors: string[];
}
export interface DeleteTriageRuleResponse {
    success: boolean;
    result: null;
    statusCode: number;
    errors: string[];
}
export interface GetTriageRuleResponse {
    success: boolean;
    result: TriageRule & {
        rule: string;
        type: string;
    };
    statusCode: number;
    errors: string[];
}
export interface ValidateTriageRuleRequest {
    rule: string;
    engine: string;
}
export interface ValidateTriageRuleResponse {
    success: boolean;
    result: null;
    statusCode: number;
    errors: string[];
}
export interface AssignTriageTaskRequest {
    caseId: string;
    triageRuleIds: string[];
    taskConfig: {
        choice: string;
    };
    mitreAttack: {
        enabled: boolean;
    };
    filter: {
        searchTerm?: string;
        name?: string;
        ipAddress?: string;
        groupId?: string;
        groupFullPath?: string;
        managedStatus?: string[];
        isolationStatus?: string[];
        platform?: string[];
        issue?: string;
        onlineStatus?: string[];
        tags?: string[];
        version?: string;
        policy?: string;
        includedEndpointIds?: string[];
        excludedEndpointIds?: string[];
        organizationIds?: (string | number)[];
    };
}
export interface AssignTriageTaskResponse {
    success: boolean;
    result: Array<{
        _id: string;
        name: string;
        organizationId: number;
    }>;
    statusCode: number;
    errors: string[];
}
export interface TriageTag {
    _id: string;
    name: string;
    count?: number;
}
export interface TriageTagsResponse {
    success: boolean;
    result: TriageTag[];
    statusCode: number;
    errors: string[];
}
export interface CreateTriageTagResponse {
    success: boolean;
    result: TriageTag;
    statusCode: number;
    errors: string[];
}
export declare const api: {
    getTriageRules(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, organizationIds?: string | string[], queryParams?: Record<string, string | number>): Promise<TriageRulesResponse>;
    createTriageRule(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, data: CreateTriageRuleRequest): Promise<CreateTriageRuleResponse>;
    updateTriageRule(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string, data: UpdateTriageRuleRequest): Promise<UpdateTriageRuleResponse>;
    deleteTriageRule(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<DeleteTriageRuleResponse>;
    getTriageRuleById(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<GetTriageRuleResponse>;
    validateTriageRule(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, data: ValidateTriageRuleRequest): Promise<ValidateTriageRuleResponse>;
    assignTriageTask(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, data: AssignTriageTaskRequest): Promise<AssignTriageTaskResponse>;
    createTriageTag(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, name: string, organizationId?: string | number): Promise<CreateTriageTagResponse>;
    getTriageTags(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, organizationId?: string, searchTerm?: string): Promise<TriageTagsResponse>;
};
