import { AxiosInstance, AxiosRequestConfig } from 'axios';
import { Project, CredentialFile } from '../types';
export declare function createApiInstance(token?: string): AxiosInstance;
export declare function validateToken(token: string): Promise<boolean>;
export declare function getProjects(token?: string): Promise<Project[]>;
export declare function getProject(projectId: string, token?: string): Promise<Project>;
export declare function getCredentialFiles(projectId: string, environmentId: string, token?: string): Promise<CredentialFile[]>;
export declare function getCredentialFile(projectId: string, environmentId: string, fileId: string, token?: string): Promise<{
    downloadUrl: string;
    fileName: string;
}>;
export declare function downloadCredentialFile(downloadUrl: string, token?: string): Promise<string>;
interface PapaVaultAPIOptions {
    token?: string;
    baseUrl?: string;
}
export declare class PapaVaultAPI {
    private client;
    constructor(options?: PapaVaultAPIOptions);
    get(url: string, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any>>;
    post(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any>>;
    put(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any>>;
    delete(url: string, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any>>;
}
export {};
