import { Octokit } from 'octokit';
export declare function createGithubClient(token: string): import("@octokit/core").Octokit & {
    paginate: import("@octokit/plugin-paginate-rest").PaginateInterface;
} & import("@octokit/plugin-paginate-graphql").paginateGraphQLInterface & import("@octokit/plugin-rest-endpoint-methods").Api & {
    retry: {
        retryRequest: (error: import("octokit").RequestError, retries: number, retryAfter: number) => import("octokit").RequestError;
    };
};
export declare function verifyWebhookSignature(payload: string, signature: string, secret: string): boolean;
export declare function getPRDiff(octokit: Octokit, owner: string, repo: string, pullNumber: number): Promise<string>;
export declare function registerRepoWebhook(owner: string, repo: string, webhookUrl: string, secret: string, token: string): Promise<number>;
export declare function deleteRepoWebhook(owner: string, repo: string, hookId: number, token: string): Promise<void>;
export declare function registerOrgWebhook(org: string, webhookUrl: string, secret: string, token: string): Promise<number>;
export declare function deleteOrgWebhook(org: string, hookId: number, token: string): Promise<void>;
export declare function listUserOrgs(token: string): Promise<string[]>;
export declare function checkRepoAccessible(owner: string, repo: string, token: string): Promise<boolean>;
export declare function listUserRepos(username: string, token: string, isSelf?: boolean): Promise<Array<{
    owner: string;
    name: string;
}>>;
export declare function listOrgRepos(org: string, token: string): Promise<Array<{
    owner: string;
    name: string;
    pushedAt: Date | null;
}>>;
export interface OpenPR {
    number: number;
    title: string;
    author: string;
    headSha: string;
    headRef: string;
    headRepo: string | null;
    baseRef: string;
    body: string | null;
    createdAt: string;
}
export declare function listOpenPRs(owner: string, repo: string, token: string): Promise<OpenPR[]>;
export declare function prHasCrossCheckComment(owner: string, repo: string, prNumber: number, token: string): Promise<boolean>;
export declare function getLastCrossCheckCommentId(owner: string, repo: string, prNumber: number, token: string): Promise<number | undefined>;
export declare function getPRCommits(owner: string, repo: string, prNumber: number, token: string): Promise<string[]>;
export declare function findOrgWebhook(org: string, url: string, token: string): Promise<number | null>;
export declare function findRepoWebhook(owner: string, repo: string, url: string, token: string): Promise<number | null>;
export interface RepoActivity {
    tier: 1 | 2 | 3;
    fullName: string;
    pushedAt: Date;
    createdAt: Date;
}
export declare function fetchActiveRepos(login: string, token: string): Promise<RepoActivity[]>;
export interface BrandOptions {
    service_name?: string;
    comment_header?: string;
    comment_footer?: string;
    reviewer_attribution?: string;
}
export declare function postReviewComment(octokit: Octokit, owner: string, repo: string, pullNumber: number, body: string, reviewer: string, brand?: BrandOptions, origin?: string, verdict?: string | null, replyToCommentId?: number, isRecheck?: boolean): Promise<number>;
//# sourceMappingURL=client.d.ts.map