/** * Consent Capabilities Screen * * The composite layout from Peter's mockup: eyebrow + serif headline + * subhead + agent identity tile + capability rows + revocation notice + * action bar + footer. Used when the resolved consent config includes * `capabilities` (the new humanized layout). Falls back to the legacy * permissions list otherwise. * * This component is purely presentational. It accepts the resolved data * (capabilities, agent metadata, copy values) and emits `consent-allow` / * `consent-deny` events so the parent can submit the form / close the * window. Selection state for the checkboxes is owned here to keep the * parent simple. * * @module components/consent-capabilities-screen */ import { LitElement } from "lit"; import type { Capability, AgentMetadata, ConsentTheme, CedarTemplateContext } from "../types/capabilities.types.js"; import "./consent-agent-header.js"; import "./consent-capability-card.js"; import "./consent-action-bar.js"; import "./consent-footer.js"; import "./consent-revocation-notice.js"; import "./consent-connector-header.js"; /** * Detail emitted on `consent-allow` — the set of capability ids the user * approved. The parent uses this to compose the granted list. */ export interface CapabilitiesApproveDetail { selectedCapabilityIds: string[]; selectedScopes: string[]; } export declare class ConsentCapabilitiesScreen extends LitElement { capabilities: Capability[]; agentMetadata: AgentMetadata | undefined; cedarContext: CedarTemplateContext | undefined; orgName: string; headlineVerb: string; revocationPath: string; inactivityDays: number; theme: ConsentTheme; howItWorksUrl: string; loading: boolean; /** * Domain used to fetch the server brand logo when one isn't explicitly * configured via `agentMetadata.logoUrl` / branding. Passed to the * connector header for logo.dev resolution. */ serverDomain: string; /** * Optional logo.dev publishable token. Lets the connector header resolve * brand logos by domain when the operator hasn't supplied an explicit * one. Falls back to monogram tile when missing or on 404. */ logoDevToken: string; private selected; connectedCallback(): void; willUpdate(changed: Map): void; private seedDefaults; static styles: import("lit").CSSResult; private hostStyle; private onCapabilityToggle; private onAllow; private onDeny; private compileCapabilityCedar; private renderHeadline; render(): import("lit").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { "consent-capabilities-screen": ConsentCapabilitiesScreen; } } //# sourceMappingURL=consent-capabilities-screen.d.ts.map