import * as H from 'history';
import * as React from 'react';
import { Observable } from 'rxjs';
import * as GQL from '../backend/graphqlschema';
interface Props {
    comment: GQL.IDiscussionComment;
    threadID: GQL.ID;
    location: H.Location;
    /**
     * Whether or not the user is a site administrator.
     */
    isSiteAdmin: boolean;
    /**
     * When specified, a report icon will be displayed inline and this function
     * will be called when a report has been submitted.
     */
    onReport?: (comment: GQL.IDiscussionComment, reason: string) => Observable<void>;
    /**
     * When specified, this function is called to handle the
     * "Clear reports / mark as read" button clicks.
     */
    onClearReports?: (comment: GQL.IDiscussionComment) => Observable<void>;
    /**
     * When specified, this function is called to handle the "delete comment"
     * button clicks.
     */
    onDelete?: (comment: GQL.IDiscussionComment) => Observable<void>;
}
interface State {
    copiedLink: boolean;
}
export declare class DiscussionsComment extends React.PureComponent<Props> {
    private scrollToElement;
    state: State;
    componentDidMount(): void;
    render(): JSX.Element | null;
    private onShareLinkClick;
    private onReportClick;
    private onClearReportsClick;
    private onDeleteClick;
    private setScrollToElement;
}
export {};
//# sourceMappingURL=DiscussionsComment.d.ts.map