import type { CommitApi, HistoryApi, Revision, SyncApi } from 'alinea/core/Connection';
import type { EntryRecord } from 'alinea/core/EntryRecord';
import type { CommitRequest } from 'alinea/core/db/CommitRequest';
import { GithubSource, type GithubSourceOptions } from 'alinea/core/source/GithubSource';
export interface GithubOptions extends GithubSourceOptions {
    author?: {
        name: string;
        email: string;
    };
}
export declare class GithubApi extends GithubSource implements HistoryApi, CommitApi, SyncApi {
    #private;
    constructor(options: GithubOptions);
    write(request: CommitRequest): Promise<{
        sha: string;
    }>;
    revisions(file: string): Promise<Array<Revision>>;
    revisionData(file: string, revisionId: string): Promise<EntryRecord | undefined>;
}
