import { Logger } from '../services/logger.js';
export interface GoogleDriveClientConfig {
    gOOGLEOAUTHCREDENTIALS?: string;
    oauth?: any;
    timeout?: number;
    rateLimit?: number;
    authToken?: string;
    logger?: Logger;
    oauthClient?: any;
}
export declare class GoogleDriveClient {
    private httpClient;
    private config;
    private sessionId;
    private logger;
    private oauthClient;
    constructor(config: GoogleDriveClientConfig);
    private setupRateLimit;
    private resolveBaseUrl;
    private getAuthHeaders;
    /**
     * Initialize the client (for OAuth clients that need initialization)
     */
    initialize(): Promise<void>;
    /**
     * Get the session ID for this client instance
     */
    getSessionId(): string;
    /**
     * Make an authenticated request with proper headers
     */
    private makeAuthenticatedRequest;
    private buildPath;
    uploadFileSimple(params: any): Promise<any>;
    uploadFileMultipart(params: any): Promise<any>;
    uploadFileResumable(params: any): Promise<any>;
    getFile(params: any): Promise<any>;
    downloadFile(params: any): Promise<any>;
    exportFile(params: any): Promise<any>;
    updateFile(params: any): Promise<any>;
    updateFileContent(params: any): Promise<any>;
    deleteFile(params: any): Promise<any>;
    copyFile(params: any): Promise<any>;
    createFolder(params: any): Promise<any>;
    moveFile(params: any): Promise<any>;
    getFolderContents(params: any): Promise<any>;
    getFolderTree(params: any): Promise<any>;
    listFiles(params: any): Promise<any>;
    searchFiles(params: any): Promise<any>;
    listFileRevisions(params: any): Promise<any>;
    getFileRevision(params: any): Promise<any>;
    updateFileRevision(params: any): Promise<any>;
    deleteFileRevision(params: any): Promise<any>;
    createPermission(params: any): Promise<any>;
    listPermissions(params: any): Promise<any>;
    getPermission(params: any): Promise<any>;
    updatePermission(params: any): Promise<any>;
    deletePermission(params: any): Promise<any>;
    createComment(params: any): Promise<any>;
    listComments(params: any): Promise<any>;
    getComment(params: any): Promise<any>;
    updateComment(params: any): Promise<any>;
    deleteComment(params: any): Promise<any>;
}
//# sourceMappingURL=google-drive-client.d.ts.map