import { CloudProvider, ProviderConfig, ProviderTokens, RemoteFile } from '../types';
export declare class DropboxProvider implements CloudProvider {
    config: ProviderConfig;
    private dbx;
    constructor(config: ProviderConfig);
    private initClient;
    private client;
    /**
     * Normalize a path to Dropbox format:
     * - Root is empty string ''
     * - All other paths start with '/' and have no trailing slash
     */
    private normPath;
    getAuthUrl(redirectUri: string, state?: string): string;
    handleCallback(code: string, redirectUri: string): Promise<ProviderTokens>;
    refreshToken(): Promise<ProviderTokens>;
    isAuthorized(): boolean;
    ensureAuth(): Promise<void>;
    listFiles(remotePath: string): Promise<RemoteFile[]>;
    uploadFile(localPath: string, remotePath: string): Promise<void>;
    deleteFile(remotePath: string): Promise<void>;
    mkdir(remotePath: string): Promise<void>;
    downloadFile(remotePath: string, localPath: string): Promise<void>;
}
//# sourceMappingURL=dropbox.d.ts.map