export declare class Ga4AuthError extends Error { readonly cause?: unknown | undefined; constructor(message: string, cause?: unknown | undefined); } export declare class Ga4RateLimitError extends Error { readonly retryAfterMs: number; constructor(retryAfterMs: number, cause?: unknown); } export declare class Ga4ServiceError extends Error { readonly cause?: unknown | undefined; constructor(message: string, cause?: unknown | undefined); } /** * Thrown when a required tool argument is missing, the wrong type, or carries * a sentinel "undefined"/"null" string. Surfaced as a structured error envelope * so callers see "InvalidArgumentError" + which arg failed, instead of the * server hanging on a downstream API call with a malformed property_id. */ export declare class Ga4InvalidArgumentError extends Error { readonly argName: string; readonly reason: string; constructor(argName: string, reason: string); } /** * Validate that a tool argument is a non-empty string and not the literal * "undefined" / "null" sentinels that LLM clients sometimes send. * Throws Ga4InvalidArgumentError, caught by the dispatch envelope. */ export declare function requireStringArg(name: string, value: unknown): string; export declare function validateCredentials(): { valid: boolean; missing: string[]; }; export declare function classifyError(error: any): Error;