import { SavedSearchData, SavedSearchesOptions } from '@reltio/mdm-sdk';
import { RequestStates } from '../../types';
type RequestsStates = {
    loading: RequestStates;
    creating: RequestStates;
    updating: RequestStates;
    deleting: RequestStates;
};
type Props = {
    options?: SavedSearchesOptions;
    defaultRowsPerPage: number;
    queryEstimatorEnabled?: boolean;
};
export declare const useSavedSearchesRequest: ({ options, defaultRowsPerPage, queryEstimatorEnabled }: Props) => {
    states: RequestsStates;
    data: {
        uri: string;
        name: string;
        description?: string;
        query: string;
        isFavorite: boolean;
        uiState: Record<string, any>;
        createDate: number;
        updateDate: number;
        isPublic: boolean;
        count: number;
        owner: string;
        type: import("@reltio/mdm-sdk").SavedSearchType;
        isLoadingTotal?: boolean;
    }[];
    total: number;
    page: number;
    rowsPerPage: number;
    updatePage: import("react").Dispatch<import("react").SetStateAction<number>>;
    updateRowsPerPage: import("react").Dispatch<import("react").SetStateAction<number>>;
    reload: () => Promise<void>;
    loadTotalForSearchByUri: (uri: string) => Promise<void>;
    createSearch: (savedSearch: Partial<SavedSearchData> & {
        name: string;
        query: string;
        uiState: Record<string, any>;
    }) => Promise<{
        readonly success: true;
        readonly result: SavedSearchData;
        error?: undefined;
    } | {
        readonly success: false;
        readonly error: any;
        readonly result?: undefined;
    }>;
    updateSearch: (savedSearch: SavedSearchData, shouldReloadTotal?: boolean) => Promise<{
        success: boolean;
        result: SavedSearchData;
        error?: undefined;
    } | {
        success: boolean;
        error: any;
        readonly result?: undefined;
    }>;
    deleteSearch: (uri: string) => Promise<{
        success: boolean;
        result: {
            success: true;
        } | {
            success: false;
            error: unknown;
        };
        error?: undefined;
    } | {
        success: boolean;
        error: any;
        readonly result?: undefined;
    }>;
};
export {};
