import { ConfigService } from "@nestjs/config"; import { QueryService } from "../../common/services/QueryService"; import { CipherService } from "../../common/services/CipherService"; import { OAuthProviderParameters } from "../models/OAuthConfig"; import { AccountDocument } from "../../common/models/AccountSchema"; import { AccountIntegrationDocument, AccountIntegrationModel } from "../../common/models/AccountIntegrationSchema"; import { PaginatedResultDTO } from "../../common/models/PaginatedResultDTO"; import { ResponseStatusDTO } from "../../common/models/ResponseStatusDTO"; import { OAuthCallbackRequest } from "../requests/OAuthCallbackRequest"; import { HttpMethod } from "../../common/drivers/HttpRequestHandler"; import { OAuthEntity, OAuthEntityType } from "../drivers/OAuthEntity"; export declare class OAuthService { private readonly model; private readonly configService; private readonly queryService; private readonly cipher; constructor(model: AccountIntegrationModel, configService: ConfigService, queryService: QueryService, cipher: CipherService); private driverFactory; private getEncryptionSeed; getProvider(providerName: string): OAuthProviderParameters; getAuthorizeURL(providerName: string, dhealthAddress: string, referralCode?: string): string; oauthCallback(providerName: string, account: AccountDocument, request: OAuthCallbackRequest): Promise; refreshAccessToken(providerName: string, integration: AccountIntegrationDocument): Promise; callProviderAPI(endpointUri: string, integration: AccountIntegrationDocument, httpOptions?: { method: HttpMethod; body?: any; options?: any; headers?: any; }): Promise; extractProviderEntity(providerName: string, data: any, type?: OAuthEntityType): OAuthEntity; updateIntegration(providerName: string, address: string, data: Record): Promise; getIntegrations(account: AccountDocument): Promise>; getIntegration(provider: string, address: string): Promise; getIntegrationByRemoteIdentifier(provider: string, remoteIdentifier: string): Promise; }