import { Octokit } from "@octokit/rest";
import { KoreFileAdaptor } from "./KoreFileAdaptor";
export interface GitCommitPushOptions {
    owner: string;
    repo: string;
    files: {
        path: string;
        content: string | ArrayBuffer;
    }[];
    ref: string;
    forceUpdate?: boolean;
    commitMessage?: string;
    token?: string;
}
export declare const getContent: (github: Octokit, { owner, repo, path, ref }: {
    owner: string;
    repo: string;
    path: string;
    ref: string;
}) => Promise<string>;
export declare const deleteFile: (octokit: Octokit, { owner, repo, path, ref, commitMessage }: {
    owner: string;
    repo: string;
    path: string;
    ref: string;
    commitMessage: string;
}) => Promise<void>;
export interface GitHubAdaptorOptions {
    host?: string;
    owner: string;
    repo: string;
    ref: string;
    commitMessage?: {
        write?: (filePath: string) => string;
        delete?: (filePath: string) => string;
    };
    forceUpdate?: boolean;
    token?: string;
}
export declare const createGitHubAdaptor: (options: GitHubAdaptorOptions) => KoreFileAdaptor;
