import { EndpointsUrl } from './EndpointsUrl'; export declare namespace Auth { interface AuthCodeBodyParameters { code: string; uname: string; pw: string; realm?: string; token?: string; } interface AuthCodeData { code: string; scope: string; redirect_uri: string; state?: string; } interface TokenData { access_token: string; token_type: string; expires_in: number; refresh_token?: string; scope?: string; audience?: string; user_id?: string; } interface TokenBodyParameters { redirect_uri: string; client_id: string; client_secret: string; grant_type: string; code?: string; refresh_token?: string; } } export interface GETParameters { disableCache?: boolean; disableTimeout?: boolean; fullResponse?: boolean; queryParameters?: any; retry?: boolean; retryCount?: number; retryDelay?: number; url: string; } interface WebApi { requestAuthorizationCode: (code: string, uname: string, pw: string, realm?: string, cctx?: string, captchaToken?: string) => Promise; requestAccessToken: (authorizationCode: string) => Promise; requestClientAccessToken: () => Promise; refreshAccessToken: () => Promise; getWithClientToken: (url: string, clientAccessToken: string, queryParameters?: any, disableTimeout?: boolean) => Promise; delWithClientToken: (url: string, clientAccessToken: string, queryParameters?: any, disableTimeout?: boolean) => Promise; postWithClientToken: (url: string, clientAccessToken: string, bodyParameters?: any, queryParameters?: any, disableTimeout?: boolean) => Promise; putWithClientToken: (url: string, clientAccessToken: string, bodyParameters?: any, queryParameters?: any, disableTimeout?: boolean) => Promise; download: (url: string, queryParameters?: Object) => Promise; staticGet: (url: string, queryParameters?: any, disableTimeout?: boolean, fullResponse?: boolean) => Promise; get: (urlOrParams: string | GETParameters, queryParameters?: any, disableTimeout?: boolean, fullResponse?: boolean, disableCache?: boolean) => Promise; del: (url: string, queryParameters?: any, disableTimeout?: boolean, bodyParameters?: any) => Promise; post: (url: string, bodyParameters?: any, queryParameters?: any, disableTimeout?: boolean, formUrlEncoded?: boolean) => Promise; postWithFile: (url: string, fieldName: string, file: any, fieldsParameters?: { [fieldName: string]: string; }, queryParameters?: any) => Promise; put: (url: string, bodyParameters?: any, queryParameters?: any, disableTimeout?: boolean) => Promise; putWithFile: (url: string, fieldName: string, file: any, fieldsParameters?: { [fieldName: string]: string; }, queryParameters?: any) => Promise; endpoints: EndpointsUrl; } export { WebApi };