import type { FasedAgentConfig } from "../../config/config.js";
import type { ResolvedWalletRuntimeConfig } from "../../wallet/wallet-runtime-config.js";
export type WalletSkillActionName = "prepare" | "send" | "plan" | "quote" | "swap" | "schedule_plan" | "schedule_send" | "limit_order" | "limit_cancel" | "limit_history";
export type WalletSkillPermissionConfig = {
    actions?: string[];
    roles?: string[];
    walletIds?: string[];
    chains?: string[];
    registries?: string[];
    inputMints?: string[];
    outputMints?: string[];
    maxAmount?: string;
    maxSlippageBps?: number;
    autonomous?: boolean;
    cron?: boolean;
};
export declare function readSkillWalletActionPermissions(cfg: FasedAgentConfig | undefined, skillId: string | null | undefined): WalletSkillPermissionConfig | null;
export declare function enforceWalletSkillAccessEnabled(params: {
    wallet: ResolvedWalletRuntimeConfig;
    requesterSkillId?: string | null;
}): void;
export declare function enforceWalletSkillPolicy(params: {
    cfg?: FasedAgentConfig;
    permissions: WalletSkillPermissionConfig | null;
    requesterAgentId?: string | null;
    requesterSkillId?: string | null;
    action: WalletSkillActionName;
    role?: "agent";
    walletId?: string;
    chain?: "solana";
    inputMint?: string;
    outputMint?: string;
    amount?: string;
    slippageBps?: number;
    autonomous: boolean;
    scheduled: boolean;
    requireManifest: boolean;
    env?: NodeJS.ProcessEnv;
}): Promise<void>;
