export declare const SHORTCUT_CLIENT_LOG_SOURCE: "client-shortcutxl";
export declare const SHORTCUT_CLIENT_LOG_MODULES: readonly ["auth", "session", "agent", "tool", "excel", "xll", "trace_upload", "network", "settings", "ui", "lifecycle"];
export type ShortcutClientLogSource = typeof SHORTCUT_CLIENT_LOG_SOURCE;
export type ShortcutClientLogLevel = 'info' | 'warn' | 'error';
export type ShortcutClientLogModule = (typeof SHORTCUT_CLIENT_LOG_MODULES)[number];
export interface ShortcutClientLogContext {
    user_id?: string;
    session_id?: string;
    request_id?: string;
    run_id?: string;
    file_id?: string;
    commit?: string;
    version?: string;
    plan_type?: string;
    plan_tier?: number;
    team_id?: string;
    team_role?: string;
    email?: string;
}
export interface ShortcutClientUserContext {
    planType?: string | null;
    planTier?: number | null;
    teamId?: string | null;
    teamRole?: string | null;
    email?: string | null;
}
export interface ShortcutClientLogEntry extends ShortcutClientLogContext {
    source: ShortcutClientLogSource;
    level: ShortcutClientLogLevel;
    event: string;
    module: ShortcutClientLogModule;
    created_at: string;
    analytics_event?: boolean;
    duration?: number;
    data?: Record<string, unknown>;
}
export interface ShortcutClientLogBatch {
    client_time: string;
    entries: ShortcutClientLogEntry[];
}
export interface ShortcutClientLogTransport {
    send(batch: ShortcutClientLogBatch): Promise<void>;
}
//# sourceMappingURL=types.d.ts.map