import { AxiosInstance, AxiosResponse } from "axios"; export default abstract class BaseApiService { private readonly accessTokenStrategy; api: AxiosInstance; protected constructor(baseUrl: string, accessTokenStrategy: AccessTokenStrategy); get>(url: string, parameters?: { [key: string]: string; }, headers?: { [key: string]: string; }, isFullResult?: boolean): Promise; post>(url: string, parameters?: { [key: string]: string; }, body?: any, headers?: { [key: string]: string; }, isFullResult?: boolean): Promise; put>(url: string, parameters?: { [key: string]: string; }, body?: any, headers?: { [key: string]: string; }, isFullResult?: boolean): Promise; delete>(url: string, parameters?: { [key: string]: string; }, body?: any, headers?: { [key: string]: string; }, isFullResult?: boolean): Promise; } export declare class GudanaAuthApiService extends BaseApiService { private static instance; constructor(); static getService(): GudanaAuthApiService; checkIfUserExists(userName: string): Promise; createUser(authRegistrationRequest: any): Promise; getUserToken(username: string): Promise; getOauth(oauthRequest: any): Promise; grantAuthorities(userAuthorityRequest: any): Promise; revokeAuthorities(userAuthorityRequest: any): Promise; updateDomainAuthorities(domainAuthoritiesUpdateRequest: any): Promise; updateUserInfo(username: string, updateInfo: any): Promise; updateUserPhoto(username: string, photoDetails: any): Promise; modifyUserAuthorities(modificationRequest: any): Promise; } export declare class GudanaFowlFeederApiService extends BaseApiService { private static instance; private constructor(); static getService(): GudanaFowlFeederApiService; verifyOtp(otp: string, authDomain: string, username: string): Promise; generateOtp(otp: string, authDomain: string, username: string): Promise; setupOtp(authDomain: string, username: string, isFixed?: boolean): Promise; fetchOtpSetup(authDomain: string, username: string): Promise; } export interface AccessTokenStrategy { getAccessToken(): Promise; } export declare class GudanaAccessTokenStrategy implements AccessTokenStrategy { private static instance; private accessToken; private constructor(); static getStrategy(): GudanaAccessTokenStrategy; loadAccessToken(): Promise; getAccessToken(): Promise; } interface GudanaBaseResponse { data: any; message: string; responseCode: number; } export {};