export declare const CURRENCY_PACKAGE = "@younndai/lyt"; export declare const CURRENCY_DIST_TAG = "alpha"; export declare const UPDATE_CHANNELS: readonly ["alpha", "latest"]; export type UpdateChannel = (typeof UPDATE_CHANNELS)[number]; export declare const CURRENCY_CACHE_TTL_MS: number; export type CommandRunner = (command: string, args: string[]) => string | null; export interface CurrencyResult { status: "ok" | "offline" | "channel-unconfigured"; installed: string; channel: UpdateChannel | null; channelSource: "explicit" | "persisted" | "unconfigured"; registry: string; packageName: string; observedTag: UpdateChannel | null; latest: string | null; integrity: string | null; stale: boolean; aheadOfChannel: boolean; offline: boolean; channelUnconfigured: boolean; fromCache: boolean; checkedAt: string; nextAction?: string; } export interface CurrencyOptions { force?: boolean; installedVersion?: string; runner?: CommandRunner; channel?: UpdateChannel; registryUrl?: string; packageName?: string; ttlMs?: number; now?: () => number; homeDir?: string; cacheOnly?: boolean; } export interface UpdateChannelPreference { schemaVersion: 1; channel: UpdateChannel; } interface CurrencyObservation { registry: string; packageName: string; channel: UpdateChannel; observedTag: UpdateChannel; version: string; integrity: string; checkedAt: string; } export interface CurrencyStateInspectionV1 { readonly channel: UpdateChannel | null; readonly channelStatus: "current" | "missing" | "malformed"; readonly cacheStatus: "current" | "missing" | "malformed" | "tampered" | "stale"; readonly observation: Readonly | null; } export declare function isUpdateChannel(value: string): value is UpdateChannel; export declare function normalizeRegistryUrl(value: string | undefined): string; export declare function readUpdateChannel(opts?: Pick): UpdateChannel | null; export declare function writeUpdateChannel(channel: UpdateChannel, opts?: Pick): void; export declare function inspectCurrencyStateV1(opts?: CurrencyOptions): CurrencyStateInspectionV1; export declare function isNewerVersion(candidate: string, base: string): boolean; export declare function checkCurrency(opts?: CurrencyOptions): Promise; export declare function updateCommandString(channel?: UpdateChannel): string; export type UpdateAction = { kind: "channel-unconfigured"; message: string; nextAction: string; } | { kind: "offline"; message: string; } | { kind: "ahead-of-channel"; message: string; } | { kind: "current"; message: string; } | { kind: "needs-confirm"; message: string; } | { kind: "blocked-noninteractive"; message: string; } | { kind: "proceed"; message: string; }; export declare function resolveUpdateAction(result: CurrencyResult, opts?: { yes?: boolean; interactive?: boolean; allowDowngrade?: boolean; }): UpdateAction; export declare function formatCurrencyLine(result: CurrencyResult): string; export {}; //# sourceMappingURL=currency.d.ts.map