/**
 * starknet_balance — read STRK / ETH / vault balance via starknet.js (peer dep).
 *
 * starknet.js stays peerDependency. We dynamic-import — if absent, throw
 * SkillNotConfiguredError. RPC URL via STARKNET_RPC_URL env.
 *
 * @public
 */
import { z } from "zod";
import type { Skill } from "../orchestration/ooda/skills.js";
declare const inputSchema: z.ZodObject<{
    address: z.ZodString;
    token: z.ZodDefault<z.ZodEnum<["STRK", "ETH", "VAULT"]>>;
    /** Override token contract for "VAULT" or custom tokens. */
    contract: z.ZodOptional<z.ZodString>;
}, "strict", z.ZodTypeAny, {
    token: "STRK" | "ETH" | "VAULT";
    address: string;
    contract?: string | undefined;
}, {
    address: string;
    token?: "STRK" | "ETH" | "VAULT" | undefined;
    contract?: string | undefined;
}>;
type StarknetBalanceInput = z.infer<typeof inputSchema>;
export interface StarknetBalanceOutput {
    address: string;
    token: "STRK" | "ETH" | "VAULT";
    /** Raw u256 as decimal string (avoid float64 — see core/security-boundaries). */
    balance_wei: string;
}
export declare const starknetBalance: Skill<StarknetBalanceInput, StarknetBalanceOutput>;
export {};
//# sourceMappingURL=starknet-balance.d.ts.map