import type { RequestMethodType } from "../../interfaces/SystemTypes";
export declare const DIGINEXT_GITHUB_CLIENT_ID = "Iv1.04ab669eff50438b";
export type GithubApiRequestOptions = {
    url: string;
    method?: RequestMethodType;
    data?: any;
    headers?: any;
    token?: string;
};
export type GithubApiFailResponse = {
    message?: string;
    documentation_url?: string;
};
export type GithubAccessTokenInfo = {
    access_token?: string;
    expires_in?: number;
    refresh_token?: string;
    refresh_token_expires_in?: number;
    token_type?: string;
    error?: string;
    error_description?: string;
    error_uri?: string;
};
export type GithubProfile = {
    login: string;
    id: number;
    node_id: string;
    avatar_url: string;
    gravatar_id: string;
    url: string;
    html_url: string;
    followers_url: string;
    following_url: string;
    gists_url: string;
    starred_url: string;
    subscriptions_url: string;
    organizations_url: string;
    repos_url: string;
    events_url: string;
    received_events_url: string;
    type: string;
    site_admin: boolean;
    name: string;
    company: string;
    blog: string;
    location: string;
    email: string;
    hireable: boolean;
    bio: string;
    twitter_username: string;
    public_repos: number;
    public_gists: number;
    followers: number;
    following: number;
    created_at: string;
    updated_at: string;
};
declare const Github: {
    loginWithPAT: (personalAccessToken: string) => Promise<void>;
    loginWithApp: () => Promise<void>;
    logout: () => Promise<void>;
    profile: (token?: string) => Promise<GithubProfile & GithubApiFailResponse>;
    fetchApi: (options: GithubApiRequestOptions) => Promise<any>;
    refreshToken: () => Promise<void>;
};
export default Github;
//# sourceMappingURL=github.d.ts.map