export interface BaziComponents { year: number; month: number; day: number; hour?: number; minute?: number; } export declare function parseBaziArgs(args: any, datetimeField?: string): BaziComponents; /** * Build the optional BaZi convention fields (year_boundary, day_boundary, * true_solar_time, latitude, longitude, timezone) to spread into a request * body. `timezone` is wrapped to the API's `TimezoneInput` object shape. * * Kept separate from `parseBaziArgs`/`BaziComponents`: these fields frame * which convention resolves the pillars rather than naming the birth moment * itself, and bazi_compatibility needs the same set built twice under a * `chart_a_`/`chart_b_` prefix. */ export declare function buildBaziConventionFields(args: any): Record; /** `buildBaziConventionFields`, reading `_` args — used by bazi_compatibility. */ export declare function buildBaziConventionFieldsPrefixed(args: any, prefix: string): Record; export declare const CONVENTION_PROPERTIES: { readonly year_boundary: { readonly type: "string"; readonly enum: readonly ["lichun", "cny"]; readonly description: "Year-pillar cutover convention. Default lichun."; }; readonly day_boundary: { readonly type: "string"; readonly enum: readonly ["zi_hour", "midnight"]; readonly description: "Day-pillar cutover convention. Default zi_hour."; }; readonly true_solar_time: { readonly type: "boolean"; readonly description: "Apply true solar time correction (needs latitude+longitude)."; }; readonly latitude: { readonly type: "number"; readonly description: "Birth latitude, decimal degrees (north+)."; }; readonly longitude: { readonly type: "number"; readonly description: "Birth longitude, decimal degrees (east+)."; }; };