import type { Logger } from '../tools/notifiers/logger.js';
import type { Adapter, UserClaims } from '../plugins/dev-onboarding/api/types.js';
export type ServerOptions = {
    port?: number;
};
export type RequestContext = {
    remoteAddr: {
        hostname?: string;
        port?: number;
        ipAddress?: string;
    };
    url?: {
        search: string;
        origin: string;
        href: string;
    };
};
export type AuthDetails = {
    isAuthenticated: boolean;
    idpAccessToken?: string;
    teams: string[];
    claims: UserClaims;
    federatedAccessToken?: string;
    federatedIdToken?: string;
};
export type UserIDToken = {
    given_name?: string;
    family_name?: string;
    nickname?: string;
    name?: string;
    picture?: string;
    locale?: string;
    updated_at?: string;
    email?: string;
    email_verified?: boolean;
    sub: string;
    [k: string]: unknown;
};
export type ValidatedJsonInput<T> = {
    in: {
        json: T;
    };
    out: {
        json: T;
    };
};
declare global {
    interface Request {
        context: RequestContext;
    }
}
declare module 'hono' {
    interface ContextVariableMap {
        auth: AuthDetails;
        cookies: Record<string, string>;
        logger: Logger;
        devOnboardingAdapter: Adapter;
    }
}
//# sourceMappingURL=web-server.d.ts.map