import * as axios from 'axios';
import * as _lsk4_log from '@lsk4/log';
import { CredsVariable } from '../types.js';
import { Service } from './Service.js';

interface GithubServiceOptions {
    projectName: string;
    projectPath: string;
    projectCredsUrl: string;
    projectCredsOwner: string;
    token: string;
    server?: string;
    clientOptions: any;
}
declare class GithubService extends Service {
    projectName: string;
    projectPath: string;
    projectCredsUrl: string;
    projectCredsOwner: string;
    token: string;
    server?: string;
    log: _lsk4_log.ILogger;
    constructor(options: GithubServiceOptions);
    checkConfig(): void;
    createClient(options?: any): axios.AxiosInstance;
    getServiceHostname(): string;
    getProjectPath(): string;
    getProjectUrl(): string;
    getProjectCICDSettingURL(): string;
    uploadSecret(name: string, variable: CredsVariable): Promise<void>;
    uploadVariable(name: string, variable: CredsVariable): Promise<void>;
    uploadHook(): Promise<void>;
}

export { GithubService };
