import type { EndpointOutput } from "@sveltejs/kit"; import { RequestEvent } from "@sveltejs/kit/types/hooks"; import type { Auth } from "../auth"; import type { CallbackResult } from "../types"; export interface ProviderConfig { id?: string; profile?: (profile: any, account: any) => any | Promise; } export declare abstract class Provider { protected readonly config: T; id: string; constructor(config: T); getUri(svelteKitAuth: Auth, path: string, host?: string): string; getCallbackUri(svelteKitAuth: Auth, host?: string): string; getSigninUri(svelteKitAuth: Auth, host?: string): string; abstract signin = Record, Body = unknown>(event: RequestEvent, svelteKitAuth: Auth): EndpointOutput | Promise; abstract callback = Record, Body = unknown>(event: RequestEvent, svelteKitAuth: Auth): CallbackResult | Promise; }