import { IExecuteFunctions, ILoadOptionsFunctions } from 'n8n-workflow';
import { AirCredentials } from '../../../../credentials/AirApi.credentials';
export interface Task {
    _id: string;
    source: string;
    totalAssignedEndpoints: number;
    totalCompletedEndpoints: number;
    totalFailedEndpoints: number;
    totalCancelledEndpoints: number;
    isScheduled: boolean;
    name: string;
    type: string;
    organizationId: number;
    status: string;
    createdBy: string;
    baseTaskId: string | null;
    startDate: string | null;
    recurrence: string | null;
    createdAt: string;
    updatedAt: string;
    data?: {
        profileId?: string;
        profileName?: string;
        windows?: {
            evidenceTypes?: string[];
            custom?: any[];
            networkCapture?: {
                enabled: boolean;
                duration: number;
                pcap?: {
                    enabled: boolean;
                };
                networkFlow?: {
                    enabled: boolean;
                };
            };
        };
        linux?: {
            evidenceTypes?: string[];
            custom?: any[];
        };
        config?: {
            choice?: string;
            saveTo?: {
                windows?: {
                    location: string;
                    path: string;
                    useMostFreeVolume: boolean;
                    volume: string;
                    tmp: string;
                };
                linux?: {
                    location: string;
                    path: string;
                    useMostFreeVolume: boolean;
                    volume: string;
                    tmp: string;
                };
            };
            cpu?: {
                limit: number;
            };
            compression?: {
                enabled: boolean;
                encryption?: {
                    enabled: boolean;
                    password: string;
                };
            };
        };
        drone?: {
            minScore: number;
            autoPilot: boolean;
            enabled: boolean;
            analyzers: string[];
            keywords: string[];
        };
    };
}
export interface TasksResponse {
    success: boolean;
    result: {
        entities: Task[];
        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 TaskResponse {
    success: boolean;
    result: Task;
    statusCode: number;
    errors: string[];
}
export declare const api: {
    getTasks(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, organizationIds?: string | string[], options?: {
        pageNumber?: number;
        pageSize?: number;
        name?: string;
        type?: string[];
        source?: string[];
        status?: string[];
        executionType?: string[];
        createdByFilter?: string;
        sortBy?: string;
        sortType?: string;
        searchTerm?: string;
        statusFilter?: string;
        typeFilter?: string;
        scheduledOnly?: boolean;
    }): Promise<TasksResponse>;
    getTaskById(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<TaskResponse>;
};
