import { Bit } from '@o/kit';
import { WorkerUtilsInstance } from '@o/worker-kit';
import { GithubComment, GithubCommit, GithubIssue, GithubPerson, GithubPullRequest } from './GithubModels';
/**
 * Creates bits out of github models.
 */
export declare class GithubBitFactory {
    private utils;
    constructor(utils: WorkerUtilsInstance);
    /**
     * Creates a new bit from a given Github issue.
     */
    createTaskBit(issue: GithubIssue | GithubPullRequest, comments: GithubComment[]): Bit;
    /**
     * Finds all participated people in a github issue and creates app
     * people from them.
     */
    createPersonBitFromIssue(issue: GithubIssue): Bit[];
    /**
     * Finds all participated people in a github pull request and creates app
     * people from them.
     */
    createPersonBitFromPullRequest(pr: GithubPullRequest): Bit[];
    /**
     * Creates a single app person from given Github user.
     */
    createPersonBitFromGithubUser(githubPerson: GithubPerson): Bit;
    /**
     * Creates a single app person from a commit.
     */
    createPersonBitFromCommit(commit: GithubCommit): Bit;
}
