mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-28 16:45:10 +08:00
102 lines
3.8 KiB
TypeScript
102 lines
3.8 KiB
TypeScript
// Type definitions for dropbox-js
|
|
// Project: https://github.com/dropbox/dropbox-js
|
|
// Definitions by: Steve Fenton <https://github.com/Steve-Fenton>
|
|
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
|
|
|
declare module Dropbox {
|
|
export interface DropboxConfig {
|
|
key: string;
|
|
secret?: string;
|
|
}
|
|
|
|
export interface AccountInfoData {
|
|
name: string;
|
|
email: string;
|
|
countryCode: string;
|
|
uid: string;
|
|
referralUrl: string;
|
|
publicAppUrl: string;
|
|
quota: number;
|
|
usedQuota: number;
|
|
privateBytes: number;
|
|
sharedBytes: number;
|
|
}
|
|
|
|
export interface AccountInfo extends AccountInfoData {
|
|
parse(accountInfo: string): AccountInfo;
|
|
json(): AccountInfoData;
|
|
}
|
|
|
|
export interface ApiError {
|
|
INVALID_TOKEN: number;
|
|
NOT_FOUND: number;
|
|
OVER_QUOTA: number;
|
|
RATE_LIMITED: number;
|
|
NETWORK_ERROR: number;
|
|
INVALID_PARAM: number;
|
|
OAUTH_ERROR: number;
|
|
INVALID_METHOD: number;
|
|
}
|
|
|
|
export interface FileStatisticsData {
|
|
path: string;
|
|
name: string;
|
|
inAppFolder: boolean;
|
|
isFolder: boolean;
|
|
isFile: boolean;
|
|
isRemoved: boolean;
|
|
typeIcon: string;
|
|
versionTag: string;
|
|
contentHash: string;
|
|
mimeType: string;
|
|
size: number;
|
|
humanSize: string;
|
|
hasThumbnail: boolean;
|
|
modifiedAt: Date;
|
|
clientModifiedAt: Date;
|
|
}
|
|
|
|
export interface FileStatistics extends FileStatisticsData {
|
|
parse(stats: string): FileStatistics;
|
|
json(): FileStatisticsData;
|
|
}
|
|
|
|
export interface ClientOnError {
|
|
addListener(callback: (error: number) => any): void;
|
|
}
|
|
|
|
export interface Client {
|
|
new (config: DropboxConfig): Client;
|
|
authDriver(authDriver: any): Client;
|
|
authenticate(callback: (error: number, client: Client) => any): Client;
|
|
credentials(): string;
|
|
dropboxUid(): string;
|
|
isAuthenticated(): boolean;
|
|
onError: ClientOnError;
|
|
getAccountInfo(callback: (error: number, accountInfo: AccountInfo) => any): XMLHttpRequest;
|
|
getUserInfo(callback: (error: number, accountInfo: AccountInfo) => any): XMLHttpRequest;
|
|
signOut(options: {}, callback: (error: number) => any): XMLHttpRequest;
|
|
signOff(options: {}, callback: (error: number) => any): XMLHttpRequest;
|
|
writeFile(fileName: string, contents: string, options: {}, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
|
writeFile(fileName: string, contents: string, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
|
readFile(fileName: string, options: {}, callback: (error: number, contents: string, stats: FileStatistics) => any): XMLHttpRequest;
|
|
readFile(fileName: string, callback: (error: number, contents: string, stats: FileStatistics) => any): XMLHttpRequest;
|
|
stat(path: string, options: {}, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
|
stat(path: string, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
|
metadata(path: string, options: {}, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
|
metadata(path: string, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
|
readdir(path: string, options: {}, callback: (error: number, entries: any[]) => any): XMLHttpRequest;
|
|
readdir(path: string, callback: (error: number, entries: any[]) => any): XMLHttpRequest;
|
|
}
|
|
|
|
export module AuthDriver {
|
|
export interface NodeServer {
|
|
new (port: number): any;
|
|
}
|
|
|
|
export var NodeServer: NodeServer;
|
|
}
|
|
|
|
export var Client: Client;
|
|
}
|