import { CollectionData, BookData, BasicAuthCallback, BasicAuthLabels } from "../interfaces";
export declare function findBookInCollection(collection: CollectionData, book: string): BookData;
export declare function mapStateToProps(state: any, ownProps: any): {
    collectionData: any;
    isFetching: any;
    isFetchingPage: any;
    error: any;
    bookData: any;
    history: any;
    loadedCollectionUrl: any;
    loadedBookUrl: any;
    collectionUrl: any;
    bookUrl: any;
    loansUrl: any;
    loans: any;
    basicAuth: any;
    isSignedIn: boolean;
};
export declare function mapDispatchToProps(dispatch: any): {
    createDispatchProps: (fetcher: any) => {
        fetchCollection: (url: string) => any;
        fetchPage: (url: string) => any;
        fetchBook: (url: string) => any;
        loadBook: (book: BookData, url: string) => any;
        clearCollection: () => any;
        clearBook: () => any;
        fetchSearchDescription: (url: string) => any;
        closeError: () => any;
        updateBook: (url: string) => any;
        fulfillBook: (url: string) => any;
        indirectFulfillBook: (url: string, type: string) => any;
        fetchLoans: (url: string) => any;
        saveBasicAuthCredentials: (credentials: string) => any;
        clearBasicAuthCredentials: () => any;
        showBasicAuthForm: (callback: BasicAuthCallback, labels: BasicAuthLabels, title: string) => any;
        closeErrorAndHideBasicAuthForm: () => any;
    };
};
export declare function createFetchCollectionAndBook(dispatch: any): (collectionUrl: string, bookUrl: string) => Promise<{
    collectionData: CollectionData;
    bookData: BookData;
}>;
export declare function fetchCollectionAndBook({fetchCollection, fetchBook, collectionUrl, bookUrl}: {
    fetchCollection: any;
    fetchBook: any;
    collectionUrl: any;
    bookUrl: any;
}): Promise<{
    collectionData: CollectionData;
    bookData: BookData;
}>;
export declare function mergeRootProps(stateProps: any, createDispatchProps: any, componentProps: any): any;
