import * as React from "react";
import { BookProps } from "./Book";
import { BookData } from "../interfaces";
export interface BookDetailsProps extends BookProps {
    borrowBook: (url: string) => Promise<BookData>;
    fulfillBook: (url: string) => Promise<Blob>;
    indirectFulfillBook: (url: string, type: string) => Promise<string>;
    isSignedIn?: boolean;
}
export default class BookDetails<P extends BookDetailsProps> extends React.Component<P, any> {
    constructor(props: any);
    render(): JSX.Element;
    componentDidMount(): void;
    componentWillUnmount(): void;
    setBodyOverflow(value: string): void;
    fieldNames(): string[];
    fields(): {
        Published: string;
        Publisher: string;
        Categories: string;
    } | {};
    circulationLinks(): any[];
    borrow(): Promise<BookData>;
    isReserved(): boolean;
    rightColumnLinks(): void;
}
