import { IExecuteFunctions, IDataObject } from 'n8n-workflow';
interface PaginationOptions {
    limit?: number;
    offset?: number;
    sort?: string;
    order?: 'asc' | 'desc';
}
export declare class NessusApi {
    private executeFunctions;
    constructor(executeFunctions: IExecuteFunctions);
    private makeRequest;
    private parseNessusError;
    private buildPaginationParams;
    listScans(paginationOptions?: PaginationOptions): Promise<any>;
    getScanDetails(scanId: number): Promise<any>;
    createScan(scanData: IDataObject): Promise<any>;
    launchScan(scanId: number, altTargets?: string[]): Promise<any>;
    stopScan(scanId: number): Promise<any>;
    pauseScan(scanId: number): Promise<any>;
    resumeScan(scanId: number): Promise<any>;
    deleteScan(scanId: number): Promise<any>;
    exportScan(scanId: number, format: string, historyId?: number): Promise<any>;
    getScanExportStatus(scanId: number, fileId: number): Promise<any>;
    downloadScanExport(scanId: number, fileId: number): Promise<any>;
    copyScan(scanId: number, folderId?: number, name?: string): Promise<any>;
    listPolicies(paginationOptions?: PaginationOptions): Promise<any>;
    getPolicyDetails(policyId: number): Promise<any>;
    createPolicy(policyData: IDataObject): Promise<any>;
    updatePolicy(policyId: number, policyData: IDataObject): Promise<any>;
    deletePolicy(policyId: number): Promise<any>;
    copyPolicy(policyId: number): Promise<any>;
    listFolders(): Promise<any>;
    createFolder(name: string): Promise<any>;
    deleteFolder(folderId: number): Promise<any>;
    listPluginFamilies(paginationOptions?: PaginationOptions): Promise<any>;
    listPluginsInFamily(familyId: number, paginationOptions?: PaginationOptions): Promise<any>;
    getPluginDetails(pluginId: number): Promise<any>;
    getSessionDetails(): Promise<any>;
    editSession(sessionData: IDataObject): Promise<any>;
    listScanTemplates(): Promise<any>;
    listPolicyTemplates(): Promise<any>;
    private validateId;
    private validateScanData;
    private validatePolicyData;
    private validateFolderName;
    private validateExportFormat;
    deleteManyScans(scanIds: number[]): Promise<any>;
    deleteManyPolicies(policyIds: number[]): Promise<any>;
}
export {};
