import { type TModule } from "../core";
declare const resources: {
    users: import("../core").TResourceConfig<{
        getUser: {
            path: string;
        };
        getUserRepos: {
            path: string;
        };
        getUserGists: {
            path: string;
        };
        getUserFollowers: {
            path: string;
        };
        getUserFollowing: {
            path: string;
        };
        getUserStarred: {
            path: string;
        };
        getUserOrgs: {
            path: string;
        };
        getUserEvents: {
            path: string;
        };
        getUserReceivedEvents: {
            path: string;
        };
        checkUserFollowing: {
            path: string;
        };
    }>;
    repos: import("../core").TResourceConfig<{
        getRepo: {
            path: string;
        };
        getRepoCommits: {
            path: string;
        };
        getRepoCommit: {
            path: string;
        };
        getRepoBranches: {
            path: string;
        };
        getRepoTags: {
            path: string;
        };
        getRepoReleases: {
            path: string;
        };
        getRepoLatestRelease: {
            path: string;
        };
        getRepoContributors: {
            path: string;
        };
        getRepoLanguages: {
            path: string;
        };
        getRepoTopics: {
            path: string;
        };
        getRepoStargazers: {
            path: string;
        };
        getRepoForks: {
            path: string;
        };
        getRepoIssues: {
            path: string;
        };
        getRepoIssue: {
            path: string;
        };
        getRepoPulls: {
            path: string;
        };
        getRepoPull: {
            path: string;
        };
        getRepoContents: {
            path: string;
        };
        getRepoReadme: {
            path: string;
        };
        createRepoIssue: {
            path: string;
            method: "POST";
        };
        updateRepoIssue: {
            path: string;
            method: "PATCH";
        };
        createRepoPull: {
            path: string;
            method: "POST";
        };
    }>;
    search: import("../core").TResourceConfig<{
        searchRepos: {
            path: string;
        };
        searchCode: {
            path: string;
        };
        searchIssues: {
            path: string;
        };
        searchUsers: {
            path: string;
        };
        searchTopics: {
            path: string;
        };
        searchLabels: {
            path: string;
        };
        searchCommits: {
            path: string;
        };
    }>;
    gists: import("../core").TResourceConfig<{
        getPublicGists: {
            path: string;
        };
        getUserGists: {
            path: string;
        };
        getGist: {
            path: string;
        };
        createGist: {
            path: string;
            method: "POST";
        };
        updateGist: {
            path: string;
            method: "PATCH";
        };
        deleteGist: {
            path: string;
            method: "DELETE";
        };
        getGistComments: {
            path: string;
        };
        createGistComment: {
            path: string;
            method: "POST";
        };
    }>;
    orgs: import("../core").TResourceConfig<{
        getOrg: {
            path: string;
        };
        getOrgRepos: {
            path: string;
        };
        getOrgMembers: {
            path: string;
        };
        getOrgTeams: {
            path: string;
        };
        getOrgProjects: {
            path: string;
        };
        getOrgEvents: {
            path: string;
        };
        checkOrgMembership: {
            path: string;
        };
    }>;
    activity: import("../core").TResourceConfig<{
        getPublicEvents: {
            path: string;
        };
        getNotifications: {
            path: string;
        };
        markNotificationAsRead: {
            path: string;
            method: "PATCH";
        };
        getStarred: {
            path: string;
        };
        starRepo: {
            path: string;
            method: "PUT";
        };
        unstarRepo: {
            path: string;
            method: "DELETE";
        };
        getWatching: {
            path: string;
        };
        watchRepo: {
            path: string;
            method: "PUT";
        };
        unwatchRepo: {
            path: string;
            method: "DELETE";
        };
    }>;
    me: import("../core").TResourceConfig<{
        getAuthenticatedUser: {
            path: string;
        };
        updateAuthenticatedUser: {
            path: string;
            method: "PATCH";
        };
        getMyRepos: {
            path: string;
        };
        getMyOrgs: {
            path: string;
        };
        getMyGists: {
            path: string;
        };
        getMyFollowers: {
            path: string;
        };
        getMyFollowing: {
            path: string;
        };
        followUser: {
            path: string;
            method: "PUT";
        };
        unfollowUser: {
            path: string;
            method: "DELETE";
        };
        getMyEmails: {
            path: string;
        };
        getMySSHKeys: {
            path: string;
        };
        addSSHKey: {
            path: string;
            method: "POST";
        };
        deleteSSHKey: {
            path: string;
            method: "DELETE";
        };
    }>;
    stats: import("../core").TResourceConfig<{
        getContributorStats: {
            path: string;
        };
        getCommitActivity: {
            path: string;
        };
        getCodeFrequency: {
            path: string;
        };
        getParticipation: {
            path: string;
        };
        getPunchCard: {
            path: string;
        };
    }>;
    git: import("../core").TResourceConfig<{
        getRef: {
            path: string;
        };
        getRefs: {
            path: string;
        };
        createRef: {
            path: string;
            method: "POST";
        };
        updateRef: {
            path: string;
            method: "PATCH";
        };
        deleteRef: {
            path: string;
            method: "DELETE";
        };
        getCommit: {
            path: string;
        };
        createCommit: {
            path: string;
            method: "POST";
        };
        getTree: {
            path: string;
        };
        createTree: {
            path: string;
            method: "POST";
        };
        getBlob: {
            path: string;
        };
        createBlob: {
            path: string;
            method: "POST";
        };
        getTag: {
            path: string;
        };
        createTag: {
            path: string;
            method: "POST";
        };
    }>;
};
type TGitHubModule = TModule<typeof resources> & {
    getUser: (username: string) => Promise<any>;
    getRepository: (owner: string, repo: string) => Promise<any>;
    getRepositoryFromUrl: (url: string) => Promise<any>;
    getUserCommits: (username: string, options?: any) => Promise<any>;
    getUserLatestCommit: (username: string) => Promise<any>;
    getUserCommitsInTimeframe: (username: string, timeframe: string) => Promise<any>;
    getRepositoryStars: (owner: string, repo: string) => Promise<number>;
    getUserStarredCount: (username: string) => Promise<number>;
    getUserStats: (username: string) => Promise<any>;
    searchRepositories: (query: string, options?: any) => Promise<any>;
    getUserActivity: (username: string, options?: any) => Promise<any>;
};
export declare function GitHub(config: {
    token: string;
}): TGitHubModule;
export { GitHubOAuth, createGitHubOAuth, gitHubOAuth } from "./oauth";
export * from "./types";
//# sourceMappingURL=index.d.ts.map