import type { ActivityType } from '../../constants';
import { CTAType } from '../../constants';
import type { AuthRequest } from '../middlewares/validateUser';
export interface ActivityLogParams {
    type: ActivityType;
    params: Array<{
        _id?: string;
        cta_type: CTAType;
        key: string;
        value: string;
    }>;
    project_id?: string;
    org_id: string;
    created_by: string;
    updated_by: string;
}
/**
 * Helper function to create activity log
 * @param token - Authentication token
 * @param activityLogParams - Activity log parameters
 */
export declare const logActivity: (token: string | string[] | undefined, activityLogParams: ActivityLogParams) => Promise<void>;
/**
 * Helper function to build activity log params from template variables
 * @param variables - Object with key-value pairs where keys match template variable names
 * @param ctaTypeMap - Optional map to specify CTA types for specific keys (defaults to common mappings)
 */
export declare const buildActivityParams: (variables: Record<string, {
    value: string;
    ctaType?: CTAType;
    _id?: string;
}>, ctaTypeMap?: Record<string, CTAType>) => Array<{
    _id?: string;
    cta_type: CTAType;
    key: string;
    value: string;
}>;
/**
 * Helper function to get user info from AuthRequest
 */
export declare const getUserInfo: (req: AuthRequest) => {
    userId: string;
    userName: string;
};
/**
 * Helper function to fetch org name
 */
export declare const fetchOrgName: (token: string | string[] | undefined, orgId: string) => Promise<string>;
/**
 * Helper function to fetch project name
 */
export declare const fetchProjectName: (token: string | string[] | undefined, orgId: string, projectId: string) => Promise<string>;
/**
 * Helper function to fetch application name from database
 */
export declare const fetchApplicationName: (applicationId: string | undefined) => Promise<string>;
//# sourceMappingURL=activityLogService.d.ts.map