import { AlSearchResultsQueryParamsV2, AlSearchGetV2, AlAdditionalSubmitParams, AlSearchDetailsV2 } from '@al/search';
export interface AlSubmitSearchData {
    query: string;
    additionalParameters: AlAdditionalSubmitParams;
}
export interface AlSubmitSearchWorkflowData {
    originalUUID?: string;
    retryCount?: number;
    retriedByUUID?: string;
}
export declare class SearchSubmitError extends Error {
    constructor(message: string);
}
export declare class SearchQuery {
    id?: string;
    accountId: string;
    name: string;
    progress: number;
    status?: 'pending' | 'suspended' | 'canceled' | 'complete';
    nResults: number;
    remaining: number;
    selected: boolean;
    fetchParams?: AlSearchResultsQueryParamsV2;
    isDownloading: boolean;
    isOnError: boolean;
    isCancelled: boolean;
    errorMessage?: string;
    submitSearchData?: AlSubmitSearchData;
    submitSearchWorkflowData: AlSubmitSearchWorkflowData;
    shouldRetry: boolean;
    searchDetails?: AlSearchDetailsV2;
    constructor(name: string, accountId: string, id?: string);
    startSearch(isSubmitting?: boolean): Promise<void>;
    submitSearch(): Promise<boolean | undefined>;
    setQueryStatus(): Promise<boolean>;
    continueSearch(): Promise<any>;
    fetchSelectedRows(selectedIndexes: number[], type?: 'csv' | 'pcap'): Promise<any>;
    fetchResults(outputType?: 'json' | 'csv' | 'pcap', getResults?: boolean, transformResults?: boolean, continueSearching?: boolean): Promise<AlSearchGetV2 | boolean | undefined>;
    deleteSearch(): Promise<boolean>;
    setFromEpochtimeParams(): {
        [key: string]: string | undefined;
    };
    setupError(errorName: string, errorMessage?: string): void;
    checkSearchStatusTillCompletion(uuid?: string, isContinuing?: boolean): Promise<boolean | undefined>;
    protected checkSubmitSearchStatus(isContinuing?: boolean): Promise<boolean>;
    protected checkFetchResults(outputType?: 'json' | 'csv' | 'pcap', getResults?: boolean, transformResults?: boolean, continueSearching?: boolean): Promise<boolean | AlSearchGetV2>;
}
