import { GitHubClient } from './github-client';
import { BootstrapOptions, BootstrapResult, WeaverConfig } from './types';
export interface GitHubBootstrapOptions extends Omit<BootstrapOptions, 'targetPath' | 'initGit' | 'addRemote'> {
    targetOwner: string;
    targetRepo: string;
    createRepository?: boolean;
    repositoryDescription?: string;
    privateRepository?: boolean;
}
export declare class GitHubBootstrapper {
    private client;
    private templateManager;
    constructor(client: GitHubClient);
    bootstrap(options: GitHubBootstrapOptions): Promise<BootstrapResult>;
    updateRepository(options: GitHubBootstrapOptions): Promise<BootstrapResult>;
    private createRepository;
    private createSummaryPullRequest;
    private generateSummaryContent;
    private generateMultiTemplatePRBody;
    getRepositoryTemplates(owner: string, repo: string): Promise<string[]>;
    getRepositoryConfig(owner: string, repo: string): Promise<WeaverConfig | null>;
    saveRepositoryTemplates(owner: string, repo: string, templates: string[]): Promise<void>;
    saveRepositoryConfig(owner: string, repo: string, config: WeaverConfig): Promise<void>;
}
//# sourceMappingURL=github-bootstrapper.d.ts.map