export declare const PERIOD_SCHEMA: { readonly type: "string"; readonly description: "Time period for the report. Examples: \"today\", \"yesterday\", \"7d\", \"30d\", \"90d\", \"this_month\", \"last_month\", \"this_year\". Default: \"30d\". For an arbitrary custom range (e.g. a specific past week), use start_date/end_date instead."; readonly enum: readonly ["today", "yesterday", "7d", "30d", "90d", "12m", "this_week", "wtd", "last_week", "this_month", "mtd", "last_month", "this_quarter", "qtd", "last_quarter", "this_year", "ytd", "last_year"]; readonly default: "30d"; }; export declare const START_DATE_SCHEMA: { readonly type: "string"; readonly description: "Custom range start date \"YYYY-MM-DD\" (an account-timezone local day). Provide together with end_date as an alternative to period for arbitrary ranges (e.g. a specific past week). When both dates are given, period is ignored."; readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$"; }; export declare const END_DATE_SCHEMA: { readonly type: "string"; readonly description: "Custom range end date \"YYYY-MM-DD\" (inclusive, account-timezone local day). Provide together with start_date."; readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$"; }; /** * Date-range params shared by every stats tool: a custom start/end range or a * `period` preset (default "30d"). * * The API gives `period` precedence over explicit dates, but the tools default * `period` client-side — sending both would silently override a custom range * with "30d". So when both dates are provided the period is NOT sent (the * custom range wins, as the schema descriptions promise). Dates are passed * through verbatim: the API interprets them as account-local days (never * resolved client-side — see the date/timezone rules in CLAUDE.md). */ export declare function dateRangeParams(args: Record): { period?: string; start_date?: string; end_date?: string; }; export declare const COMPARE_SCHEMA: { readonly type: "string"; readonly description: "Comparison mode. \"previous\" compares with the prior period of the same length. \"yoy\" compares with the same dates last year."; readonly enum: readonly ["previous", "yoy"]; }; export declare const LIMIT_SCHEMA: { readonly type: "number"; readonly description: "Maximum number of rows to return (default: 20, max: 100)."; readonly default: 20; }; export declare const SORT_ORDER_SCHEMA: { readonly type: "string"; readonly description: "Sort direction: \"asc\" or \"desc\" (default: \"desc\")."; readonly enum: readonly ["asc", "desc"]; readonly default: "desc"; }; export declare const PAGE_SCHEMA: { readonly type: "number"; readonly description: "Page number for paginated results (default: 1)."; readonly default: 1; }; /** * Resolve site_id from tool args or SEALMETRICS_SITE_ID env var. * Throws if neither is available. */ export declare function resolveSiteId(args: Record): string; //# sourceMappingURL=shared.d.ts.map