/** * @module types/enums * @description Anchor-compatible enum variant objects for SAP v2. * * Each enum mirrors the Rust discriminant format used by Anchor: * `{ variant: {} }` — e.g. `{ sol: {} }` for `TokenType::Sol`. * * Use the `*Kind` types for function signatures. * * @category Types * @since v0.1.0 * @see {@link https://solana.com/docs | Solana Docs} */ /** * @name TokenType * @description Anchor-compatible enum variants for token types accepted by agent pricing and escrow. * * - `Sol` — Native SOL. * - `Usdc` — USDC stablecoin. * - `Spl` — Arbitrary SPL token (requires `tokenMint`). * * @category Types * @since v0.1.0 * * @example * ```ts * import { TokenType } from "@synapse-sap/sdk"; * * const tier = { tokenType: TokenType.Sol }; * ``` */ export declare const TokenType: { readonly Sol: { readonly sol: {}; }; readonly Usdc: { readonly usdc: {}; }; readonly Spl: { readonly spl: {}; }; }; /** * @name TokenTypeKind * @description Union of all {@link TokenType} variant shapes. * Use this as the type for any parameter that accepts a token type discriminant. */ export type TokenTypeKind = (typeof TokenType)[keyof typeof TokenType]; /** * @name PluginType * @description Anchor-compatible enum variants for plugin extension types. * * Plugins extend agent functionality and are feature-gated on-chain. * * - `Memory` — Encrypted memory / vault storage. * - `Validation` — Custom validation logic. * - `Delegation` — Hot-wallet delegation. * - `Analytics` — Metrics & analytics. * - `Governance` — DAO / governance participation. * - `Custom` — User-defined plugin type. * * @category Types * @since v0.1.0 * * @example * ```ts * import { PluginType } from "@synapse-sap/sdk"; * * const ref = { pluginType: PluginType.Memory, pda: vaultPda }; * ``` */ export declare const PluginType: { readonly Memory: { readonly memory: {}; }; readonly Validation: { readonly validation: {}; }; readonly Delegation: { readonly delegation: {}; }; readonly Analytics: { readonly analytics: {}; }; readonly Governance: { readonly governance: {}; }; readonly Custom: { readonly custom: {}; }; }; /** * @name PluginTypeKind * @description Union of all {@link PluginType} variant shapes. */ export type PluginTypeKind = (typeof PluginType)[keyof typeof PluginType]; /** * @name SettlementMode * @description Anchor-compatible enum variants for payment settlement strategies. * * - `Instant` — Pay-per-call, settled immediately on invocation. * - `Escrow` — Pre-funded escrow account with per-call drawdown. * - `Batched` — Aggregated settlement at fixed intervals. * - `X402` — HTTP 402-based micropayment protocol settlement. * * @category Types * @since v0.1.0 * * @example * ```ts * import { SettlementMode } from "@synapse-sap/sdk"; * * const tier = { settlementMode: SettlementMode.Escrow }; * ``` */ export declare const SettlementMode: { readonly Instant: { readonly instant: {}; }; readonly Escrow: { readonly escrow: {}; }; readonly Batched: { readonly batched: {}; }; readonly X402: { readonly x402: {}; }; }; /** * @name SettlementModeKind * @description Union of all {@link SettlementMode} variant shapes. */ export type SettlementModeKind = (typeof SettlementMode)[keyof typeof SettlementMode]; /** * @name ToolHttpMethod * @description Anchor-compatible enum variants for the HTTP method exposed by a tool. * * - `Get` / `Post` / `Put` / `Delete` — Standard REST verbs. * - `Compound` — Multi-step tool (calls several sub-operations). * * @category Types * @since v0.1.0 * * @example * ```ts * import { ToolHttpMethod } from "@synapse-sap/sdk"; * * const args = { httpMethod: ToolHttpMethod.Post }; * ``` */ export declare const ToolHttpMethod: { readonly Get: { readonly get: {}; }; readonly Post: { readonly post: {}; }; readonly Put: { readonly put: {}; }; readonly Delete: { readonly delete: {}; }; readonly Compound: { readonly compound: {}; }; }; /** * @name ToolHttpMethodKind * @description Union of all {@link ToolHttpMethod} variant shapes. */ export type ToolHttpMethodKind = (typeof ToolHttpMethod)[keyof typeof ToolHttpMethod]; /** * @name ToolCategory * @description Anchor-compatible enum variants for classifying tools in the on-chain registry. * * Categories power cross-agent tool discovery via the `ToolCategoryIndex` PDA. * * - `Swap` — Token swap / DEX tools. * - `Lend` — Lending protocol tools. * - `Stake` — Staking / validator tools. * - `Nft` — NFT minting / marketplace tools. * - `Payment` — Payment & invoicing tools. * - `Data` — Data feeds / oracles. * - `Governance` — DAO & governance tools. * - `Bridge` — Cross-chain bridge tools. * - `Analytics` — On-chain analytics. * - `Custom` — User-defined category. * * @category Types * @since v0.1.0 * * @example * ```ts * import { ToolCategory } from "@synapse-sap/sdk"; * * const args = { category: ToolCategory.Swap }; * ``` */ export declare const ToolCategory: { readonly Swap: { readonly swap: {}; }; readonly Lend: { readonly lend: {}; }; readonly Stake: { readonly stake: {}; }; readonly Nft: { readonly nft: {}; }; readonly Payment: { readonly payment: {}; }; readonly Data: { readonly data: {}; }; readonly Governance: { readonly governance: {}; }; readonly Bridge: { readonly bridge: {}; }; readonly Analytics: { readonly analytics: {}; }; readonly Custom: { readonly custom: {}; }; }; /** * @name ToolCategoryKind * @description Union of all {@link ToolCategory} variant shapes. */ export type ToolCategoryKind = (typeof ToolCategory)[keyof typeof ToolCategory]; /** * @name SettlementSecurity * @description Anchor-compatible enum variants for V2 escrow settlement security levels. * * - `SelfReport` — **DEPRECATED in v0.7** — Agent settles unilaterally (abuse vector). * - `CoSigned` — Agent + client must co-sign every settlement. * - `DisputeWindow` — Settlement enters pending state, depositor can dispute. * * @category Types * @since v0.5.0 */ export declare const SettlementSecurity: { /** @deprecated Removed in v0.7 — returns SelfReportDeprecated error */ readonly SelfReport: { readonly selfReport: {}; }; readonly CoSigned: { readonly coSigned: {}; }; readonly DisputeWindow: { readonly disputeWindow: {}; }; }; export type SettlementSecurityKind = (typeof SettlementSecurity)[keyof typeof SettlementSecurity]; /** * @name DisputeOutcome * @description Anchor-compatible enum variants for dispute resolution outcomes. * * @category Types * @since v0.5.0 */ export declare const DisputeOutcome: { readonly Pending: { readonly pending: {}; }; readonly AutoReleased: { readonly autoReleased: {}; }; readonly DepositorWins: { readonly depositorWins: {}; }; readonly AgentWins: { readonly agentWins: {}; }; /** @since v0.7.0 — Proportional refund based on proven vs claimed calls */ readonly PartialRefund: { readonly partialRefund: {}; }; /** @since v0.7.0 — 50/50 split for irresolvable quality disputes */ readonly Split: { readonly split: {}; }; }; export type DisputeOutcomeKind = (typeof DisputeOutcome)[keyof typeof DisputeOutcome]; /** * @name DisputeType * @description Categories of disputes that can be filed against a pending settlement. * * - `NonDelivery` — Agent took payment but delivered nothing. * - `PartialDelivery` — Agent delivered fewer calls than claimed. * - `Overcharge` — Agent charged more than the agreed price. * - `Quality` — Agent delivered but output quality is disputed. * * @category Types * @since v0.7.0 */ export declare const DisputeType: { readonly NonDelivery: 0; readonly PartialDelivery: 1; readonly Overcharge: 2; readonly Quality: 3; }; export type DisputeTypeValue = (typeof DisputeType)[keyof typeof DisputeType]; /** * @name ResolutionLayer * @description How a dispute was resolved. * * - `Pending` — Not yet resolved. * - `Auto` — Resolved automatically via receipt merkle proofs. * - `Governance` — Resolved via protocol governance (quality disputes). * * @category Types * @since v0.7.0 */ export declare const ResolutionLayer: { readonly Pending: { readonly pending: {}; }; readonly Auto: { readonly auto: {}; }; readonly Governance: { readonly governance: {}; }; }; export type ResolutionLayerKind = (typeof ResolutionLayer)[keyof typeof ResolutionLayer]; /** * @name BillingInterval * @description Anchor-compatible enum variants for subscription billing intervals. * * @category Types * @since v0.5.0 */ export declare const BillingInterval: { readonly Daily: { readonly daily: {}; }; readonly Weekly: { readonly weekly: {}; }; readonly Monthly: { readonly monthly: {}; }; }; export type BillingIntervalKind = (typeof BillingInterval)[keyof typeof BillingInterval]; //# sourceMappingURL=enums.d.ts.map