import { type RuleFlagOptions } from './preset.js'; export interface CreateCardOptions { /** Skip the confirmation prompt (for non-interactive / agent use). */ yes?: boolean; /** Emit machine-readable JSON and run fully non-interactively. */ json?: boolean; /** Create a multi-use card (stays open across charges — subscriptions). */ multiUse?: boolean; /** Optional hard expiry for a multi-use card (ISO-8601, ≤365 days out). */ expires?: string; /** Restrict this card (template / comma list / saved name/id). Adds limits only. */ preset?: string; /** Spelled-out rules (mutually exclusive with `preset`). Adds limits only. */ ruleFlags?: RuleFlagOptions; /** Multi-card BYOC: issue against this specific added card (id from `add --list`). */ from?: string; } /** * The card carries no network category allowlist — a category rule on a preset * in watch mode, remembered merchants (a network allowlist would decline exactly the charge * they exist to allow), or a rail that takes none (the API says which with * preset.agentcardOnly). Agentcard enforces at checkout and settlement. */ export declare function agentcardOnlyCategories(preset: { summary?: string; agentcardOnly?: string[]; } | string | null | undefined): boolean; /** The card carries a currency rule: the network takes no currency list, so Agentcard alone enforces it. */ export declare function agentcardOnlyCurrency(preset: { summary?: string; agentcardOnly?: string[]; } | string | null | undefined): boolean; export declare const NETWORK_LINE_CATEGORY = "no category allowlist on this card \u2014 Agentcard checks at checkout and settlement"; export declare const NETWORK_LINE_CURRENCY = "Agentcard enforces the currency rule at checkout and settlement; the card network does not"; /** * The `Network` lines under a new card: what the card network does not * enforce, one line per rule it skips, each fitting the rule it is about. */ export declare function networkLines(preset: { summary?: string; agentcardOnly?: string[]; } | string | null | undefined): string[]; /** * --expires is a multi-use term: the wire body only carries expires_at for a * multi-use card, so a single-use `--expires` was silently dropped while the * CLI still printed "It auto-closes at …". Refused instead (bin mirrors this). */ export declare const EXPIRES_NEEDS_MULTI_USE = "--expires only applies to a multi-use card. Add --multi-use, or drop --expires."; export declare function expiresNeedsMultiUse(opts: { expires?: string; multiUse?: boolean; preset?: string; }): boolean; /** `--preset ai_labs` implies --multi-use, as it always has (staging's help and docs promise it); `--multi-use` with it is a no-op. */ export declare function impliesMultiUse(opts: { multiUse?: boolean; preset?: string; }): boolean; export declare function createCard(amountDollars: number, opts?: CreateCardOptions): Promise; //# sourceMappingURL=create.d.ts.map