/** * Consent Copy Types * * Canonical type definitions for consent page copy/text content. * * @module @kya-os/consent/types/copy */ /** * Consent UI Configuration * * Text content configuration for consent pages. * All fields are optional - defaults are applied during resolution. */ export interface ConsentUI { /** Page title */ title?: string; /** * Description text (may contain [AI Agent] placeholder) * The placeholder is replaced with the actual agent name during resolution. */ description?: string; /** Expiration notice text prefix (e.g., "This delegation will expire in") */ expirationText?: string; /** Cancel button label */ cancelButtonText?: string; /** Submit/approve button label */ submitButtonText?: string; /** Permissions section header */ permissionsHeader?: string; /** Whether to auto-close window after success */ autoClose?: boolean; /** Whether popup mode is enabled */ popupEnabled?: boolean; /** Theme preference */ theme?: "light" | "dark" | "auto"; } /** * Consent Terms Configuration * * Terms of service or privacy policy information. */ export interface ConsentTerms { /** Terms checkbox label text */ text?: string; /** URL to terms document */ url?: string; /** Version identifier for terms */ version?: string; /** Whether terms acceptance is required */ required?: boolean; } /** * Consent Success Screen Configuration * * Configuration for the success page shown after consent approval. */ export interface ConsentSuccess { /** Success page title */ title?: string; /** Success page description */ description?: string; /** Whether to show the delegation credential */ showCredential?: boolean; /** Auto-redirect URL after success */ redirectUrl?: string; /** Delay before auto-redirect (seconds) */ redirectDelay?: number; /** Continue button text */ continueButtonText?: string; } /** * Resolved Consent Copy * * Fully resolved copy with all required fields populated. * Ready for rendering - no undefined values for required fields. */ export interface ResolvedConsentCopy { /** Page title */ title: string; /** Raw description (may contain [AI Agent] placeholder) */ description: string; /** Resolved description with agent name substituted */ resolvedDescription: string; /** Expiration notice text */ expirationText: string; /** Cancel button label */ cancelButtonText: string; /** Submit/approve button label */ submitButtonText: string; /** Permissions section header */ permissionsHeader: string; /** Terms checkbox text */ termsText: string; /** Terms URL (optional) */ termsUrl?: string; /** Whether terms acceptance is required */ termsRequired: boolean; /** Success page title */ successTitle: string; /** Raw success page description (may contain [AI Agent] placeholder) */ successDescription: string; /** Resolved success description with agent name substituted */ resolvedSuccessDescription: string; /** Whether to show the delegation credential on success page */ showCredential: boolean; /** Continue button text on success page */ continueButtonText: string; } //# sourceMappingURL=copy.types.d.ts.map