import { type AuthMode } from "../types/modes.types.js"; import type { Capability } from "../types/capabilities.types.js"; export declare function shouldRenderCapabilityScreen(mode: AuthMode, capabilityCount: number): boolean; /** * The credential path grants a fixed, all-or-nothing scope set (see the * scopes constraint in handleApprove), so every capability starts selected — * the rows themselves stay interactive, same as the consent-only path. */ export declare function shouldSelectAllCapabilities(mode: AuthMode): boolean; export declare function areCredentialsComplete(formData: Record): boolean; /** * Whether the legacy scope-selection checkboxes (`renderPermissions` / * ``) should render as interactive. When a signed * identity assertion is bound to the request, `handleApprove` always posts * the full requested scope set - the assertion binds a hash of that full * set, so a user-narrowed subset would fail the mint gate's hash check and * 403 (see the comment on the `scopes` form-data append in mcp-consent.ts). * Letting the user uncheck a scope that will be granted regardless is a * consent-accuracy bug, so this path drops to display-only rows instead. * Interactive narrowing returns once the deferred subset-binding follow-up * ships. */ export declare function shouldRenderScopesInteractive(identityAssertion: string | undefined): boolean; /** * Which capabilities count as selected. In disclosure mode every capability is * granted, so all ids are returned; otherwise the operator's `defaultOn` seeds * the initial selection. */ export declare function capabilityIdsFor(capabilities: Capability[], disclosureMode: boolean): string[]; /** * Identity of a seeding decision: the capability ids in order, plus the * all-selected flag. Lit compares properties by reference, so a parent that * rebuilds its capability array on every render would otherwise re-seed (and * wipe the user's toggles) on every keystroke. Seeding is keyed on this value * instead of array identity. */ export declare function capabilitySeedKey(capabilities: Capability[], allSelected: boolean): string; //# sourceMappingURL=credential-capabilities.d.ts.map