/**
 * `r.status()` — the organization's state in one read, owned by the Node
 * SDK: the active wallet (`local_label`, `server_label`, address), its rail,
 * on-chain and allowance balances, the tier and its lease, the projects
 * (server-side, falling back to the local key cache), the active project, and
 * the API target. This is the LOCAL view — which wallet this machine acts as —
 * combined with the reads that wallet can make; it never returns key material.
 *
 * With no local wallet the answer is the bare local state (`wallet: null`,
 * the locally known projects, the active project, the target) plus the next
 * command; Run402 Core targets can still report it without a wallet.
 * `run402 status` is a shim over this.
 */
import type { Run402 } from "../index.js";
export interface StatusTarget {
    api_base: string;
    api_base_source: "env" | "profile" | "default";
    kind: "cloud" | "core" | "unknown";
}
/** No local wallet: the local facts and the next command. */
export interface LocalOnlyStatus {
    wallet: null;
    target: StatusTarget;
    projects: Array<{
        project_id: string;
    }>;
    active_project: string | null;
    hint: string;
}
/** A local wallet: the organization's state as that wallet sees it. */
export interface WalletStatus {
    wallet: {
        local_label: string;
        server_label: string | null;
        address: string;
    };
    rail: string;
    remote_status: unknown;
    next_actions: unknown;
    projects_source: "remote" | "local_cache";
    balances: {
        on_chain_usd_micros: number | null;
        on_chain_token: "USDC" | "pathUSD";
        allowance_usd_micros: number | null;
        held_usd_micros: number | null;
    };
    tier: {
        name: string;
        status: string;
        expires: string | null;
    } | null;
    organization_lifecycle_state: string | null;
    lease_perpetual: boolean | null;
    projects: Array<Record<string, unknown> & {
        project_id: string;
    }>;
    active_project: string | null;
    target: StatusTarget;
}
export type StatusResult = LocalOnlyStatus | WalletStatus;
export declare function runStatus(r: Run402): Promise<StatusResult>;
//# sourceMappingURL=status.d.ts.map