import * as _lsk4_log from '@lsk4/log';
import { AxiosInstance } from 'axios';
import { CredsService, CredsVariable, CredsConfig } from '../types.js';

declare class Service {
    client: AxiosInstance;
    log: _lsk4_log.ILogger;
    constructor(options: any);
    createClient(clientOptions?: any): AxiosInstance;
    assign(options: CredsService): void;
    checkConfig(): void;
    getServiceHostname(): string;
    getProjectUrl(): string;
    getProjectCICDSettingURL(): string;
    getProjectPath(): string;
    getProjectId(): string;
    getProjectCredsUrl(): string;
    getProjectCredsOwner(): string;
    uploadSecret(key: string, content: CredsVariable): Promise<void>;
    uploadVariable(key: string, content: CredsVariable): Promise<void>;
    removeOldHooks(): Promise<void>;
    uploadHook(dataHook: any): Promise<void>;
    uploadHooks(env: CredsConfig): Promise<void>;
    uploadAll(env: CredsConfig): Promise<void>;
}

export { Service };
