/**
* Loopback callback listener for OAuth authorization-code login.
*
* @experimental This API is unstable and may change without notice.
*/
import * as Effect from "effect/Effect";
export interface LoopbackCallback {
readonly code: string;
readonly state: string;
readonly iss: string;
}
declare const LoopbackLoginFallback_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
readonly _tag: "LoopbackLoginFallback";
} & Readonly;
export declare class LoopbackLoginFallback extends LoopbackLoginFallback_base<{
readonly reason: "bind_failed" | "timeout";
readonly message: string;
readonly cause?: unknown;
}> {
}
declare const LoopbackCallbackRejected_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
readonly _tag: "LoopbackCallbackRejected";
} & Readonly;
export declare class LoopbackCallbackRejected extends LoopbackCallbackRejected_base<{
readonly reason: "access_denied" | "invalid_callback";
readonly message: string;
}> {
}
export interface LoopbackServer {
readonly port: number;
readonly redirectUri: string;
readonly awaitCallback: (timeoutMs: number) => Effect.Effect;
}
export declare const startLoopbackServer: (expectedState: string) => Effect.Effect<{
port: number;
redirectUri: string;
awaitCallback: (timeoutMs: number) => Effect.Effect;
}, LoopbackLoginFallback, import("effect/Scope").Scope>;
export {};
//# sourceMappingURL=loopback-server.d.ts.map