import { User } from 'eclipse/types/User.type';
import Auth from '../auth/auth';
import CoreConfigModule from '../coreConfig';
import { CreateSecretDto } from '../dtos/createSecret.dto';
import { ApiConfig } from '../types/CoreConfig.type';
import { Project } from '../types/Project.type';
import { RevealedSecret, Secret } from '../types/Secret.type';
import { Logger } from '../utils/logger';
import { GetSecretDto } from 'eclipse/dtos/getSecret.dto';
import { DeleteSecretDto } from 'eclipse/dtos/deleteSecret.dto';
export default class API {
    private auth;
    private logger;
    private coreConfig;
    private _http;
    constructor(auth: Auth, logger: Logger, coreConfig: CoreConfigModule);
    Initialize(): Promise<void>;
    getCliValues(): Promise<ApiConfig>;
    getUser(): Promise<User | null>;
    getProjects(projectId?: string): Promise<Project[]>;
    getSecrets({ projectId, ownerId, component, environment, }: GetSecretDto): Promise<RevealedSecret[]>;
    createSecret(createSecretDto: CreateSecretDto): Promise<Secret | null>;
    deleteSecret({ secretId, secretName }: DeleteSecretDto): Promise<void | null>;
}
