import { Context } from 'effect'; import { Effect } from 'effect'; import { Layer } from 'effect'; /** * The effective timezone in the current context, or `UTC` when none was * provided. Never fails — an absent context is the documented UTC default, * so call sites don't have to handle a missing-service error. */ export declare const currentTimezone: Effect.Effect; /** * A layer that RESOLVES the timezone from the request signals (user * profile → tenant → browser → UTC) and provides it. This is what the * runtime wires per request. */ export declare const resolvedTimezoneLayer: (args: ResolveTimezoneArgs) => Layer.Layer; declare interface ResolveTimezoneArgs { /** The viewing user's stored profile timezone, if any. */ readonly userTimeZone?: string | null; /** The tenant / org default timezone, if any. */ readonly tenantTimeZone?: string | null; /** The browser-reported timezone (from the client), if any. */ readonly browserTimeZone?: string | null; } /** The carried value: the effective IANA timezone for the current request. */ export declare interface Timezone { readonly timeZone: string; } /** Context tag holding the request's resolved timezone. */ export declare class TimezoneContext extends TimezoneContext_base { } declare const TimezoneContext_base: Context.TagClass; /** A layer providing a fixed timezone. */ export declare const TimezoneContextLive: (timeZone: string) => Layer.Layer; /** Run `effect` with an explicit timezone in context. */ export declare const withTimezone: (timeZone: string) => (effect: Effect.Effect) => Effect.Effect>; export { }