import { CloudProvider, ProviderConfig, ProviderTokens, RemoteFile } from '../types';
export declare class OneDriveProvider implements CloudProvider {
    config: ProviderConfig;
    private graphClient;
    constructor(config: ProviderConfig);
    private initGraphClient;
    getAuthUrl(redirectUri: string, state?: string): string;
    handleCallback(code: string, redirectUri: string): Promise<ProviderTokens>;
    refreshToken(): Promise<ProviderTokens>;
    isAuthorized(): boolean;
    ensureAuth(): Promise<void>;
    private client;
    /**
     * Returns the Graph API path for a given remote path.
     * e.g. "backup/myproject" → "/me/drive/root:/backup/myproject:"
     * Empty or root path → "/me/drive/root"
     */
    private itemPath;
    /**
     * Returns the children endpoint for a given remote path.
     */
    private childrenPath;
    listFiles(remotePath: string): Promise<RemoteFile[]>;
    uploadFile(localPath: string, remotePath: string): Promise<void>;
    mkdir(remotePath: string): Promise<void>;
    downloadFile(remotePath: string, localPath: string): Promise<void>;
    deleteFile(remotePath: string): Promise<void>;
}
//# sourceMappingURL=onedrive.d.ts.map