import { Observable } from 'rxjs';
import * as GQL from '../backend/graphqlschema';
/**
 * Creates a new discussion thread.
 *
 * @return Observable that emits the new discussion thread.
 */
export declare function createThread(input: GQL.IDiscussionThreadCreateInput): Observable<GQL.IDiscussionThread>;
/**
 * Fetches discussion threads.
 */
export declare function fetchDiscussionThreads(opts: {
    first?: number;
    query?: string;
    threadID?: GQL.ID;
    authorUserID?: GQL.ID;
    targetRepositoryID?: GQL.ID;
    targetRepositoryName?: string;
    targetRepositoryGitCloneURL?: string;
    targetRepositoryPath?: string;
}): Observable<GQL.IDiscussionThreadConnection>;
/**
 * Fetches a discussion thread and its comments.
 */
export declare function fetchDiscussionThreadAndComments(threadID: GQL.ID): Observable<GQL.IDiscussionThread>;
/**
 * Adds a comment to an existing discussion thread.
 *
 * @return Observable that emits the updated discussion thread and its comments.
 */
export declare function addCommentToThread(threadID: GQL.ID, contents: string): Observable<GQL.IDiscussionThread>;
/**
 * Updates an existing comment in a discussion thread.
 *
 * @return Observable that emits the updated discussion thread and its comments.
 */
export declare function updateComment(input: GQL.IDiscussionCommentUpdateInput): Observable<GQL.IDiscussionThread>;
/**
 * Renders Markdown to HTML.
 *
 * @return Observable that emits the HTML string, which is already sanitized and escaped and thus is always safe to render.
 */
export declare function renderMarkdown(markdown: string, options?: GQL.IMarkdownOptions): Observable<string>;
//# sourceMappingURL=backend.d.ts.map