import * as React from "react";
import { BookProps } from "./Book";
import { BookData } from "../interfaces";
export interface BookDetailsProps extends BookProps {
    updateBook: (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;
    fields(): {
        name: string;
        value: string;
    }[];
    circulationLinks(): any[];
    circulationInfo(): any[];
    borrow(): Promise<BookData>;
    isReserved(): boolean;
    isBorrowed(): boolean;
    isOpenAccess(): boolean;
    rightColumnLinks(): void;
}
