import { type Keychain } from "../lib/keychain.js";
import { type ActiveTenantOptions } from "../lib/active-tenant.js";
import { type TenantSummary } from "../api/client.js";
export interface WhoamiCommandIO {
    stdout: {
        write: (s: string) => boolean;
    };
    stderr: {
        write: (s: string) => boolean;
    };
    exit?: (code: number) => void;
}
export interface WhoamiCommandDeps {
    io: WhoamiCommandIO;
    keychain?: Keychain;
    /** Override the GitHub /user fetch (tests). */
    fetchGitHubUser?: (token: string) => Promise<{
        login?: string;
    } | null>;
    /** Override the platform tenants fetch (tests). */
    listTenants?: () => Promise<TenantSummary[]>;
    /** Override config dir (tests). */
    activeTenantOptions?: ActiveTenantOptions;
    /** vskill version for User-Agent. */
    version?: string;
    /** Custom fetch impl (tests). */
    fetchImpl?: typeof fetch;
}
export declare function whoamiCommand(argv: string[], deps: WhoamiCommandDeps): Promise<number>;
