/**
 * @license
 * Copyright 2026 Amodal Labs, Inc.
 * SPDX-License-Identifier: MIT
 */
export type ActivitySeverity = "info" | "warning" | "error";
export interface ActivityLogRecord {
    id: string;
    timestamp: string;
    event: string;
    agentId: string;
    orgId?: string | null;
    resourceName: string;
    resourceType?: string | null;
    resourceId?: string | null;
    author?: string | null;
    actorUserId?: string | null;
    actorEmail?: string | null;
    actorType?: string | null;
    source: string;
    severity: ActivitySeverity;
    deployId?: string | null;
    sessionId?: string | null;
    automationId?: string | null;
    correlationId?: string | null;
    ipAddress?: string | null;
    userAgent?: string | null;
    details?: Record<string, unknown> | null;
}
export interface ActivityListQuery {
    agentId?: string;
    limit?: number;
    offset?: number;
    event?: string;
    source?: string;
    severity?: ActivitySeverity | "all";
    deployId?: string;
    sessionId?: string;
    actor?: string;
    search?: string;
}
export interface ActivityListResponse {
    entries: ActivityLogRecord[];
    total: number;
}
export interface ActivityLogInput {
    event: string;
    agentId?: string;
    orgId?: string | null;
    resourceName?: string;
    resourceType?: string | null;
    resourceId?: string | null;
    author?: string | null;
    actorUserId?: string | null;
    actorEmail?: string | null;
    actorType?: string | null;
    source?: string;
    severity?: ActivitySeverity;
    deployId?: string | null;
    sessionId?: string | null;
    automationId?: string | null;
    correlationId?: string | null;
    ipAddress?: string | null;
    userAgent?: string | null;
    details?: Record<string, unknown> | null;
}
export interface ActivityBackend {
    listActivity(req: Request, query: ActivityListQuery): Promise<ActivityListResponse>;
    getActivity(req: Request, id: string): Promise<ActivityLogRecord | null>;
    recordActivity?(req: Request, input: ActivityLogInput): Promise<void>;
}
export declare function setActivityBackend(backend: ActivityBackend | null): void;
export declare function getActivityBackend(): ActivityBackend;
export declare function recordStudioActivity(req: Request, input: ActivityLogInput): Promise<void>;
