/** * Runtime value of a paywall state key. * Web has no separate int/double types at runtime; the declared `type` string preserves intent. */ export type StateValue = boolean | number | string; /** Known wire values for StateDeclaration.type (forward-compatible: unknown values kept as string). */ export declare const StateValueType: { readonly Boolean: "boolean"; readonly Integer: "integer"; readonly Double: "double"; readonly String: "string"; }; export type StateValueType = (typeof StateValueType)[keyof typeof StateValueType]; /** Top-level `state_declarations` entry: declared type and seed default. */ export interface StateDeclaration { /** Wire type string; kept opaque (string) for forward-compat with new types. */ type: string; /** Seed default value. Wire key is `default`. */ default: StateValue; } /** Sentinel used in StateUpdate.to to substitute the component's interaction payload. */ export declare const STATE_PAYLOAD_REFERENCE: "$value"; /** A declarative state mutation on an interactive component. Phase 0: decode-only. */ export interface StateUpdate { set: string; /** Literal value or `"$value"` sentinel (see STATE_PAYLOAD_REFERENCE). */ to: StateValue; } /** Epsilon for floating-point equality comparison, matching iOS/Android behavior. */ export declare const STATE_NUMBER_COMPARISON_EPSILON = 1e-10;