import { InsightEngine } from '../../../app/insight-engine/insight-engine.js';
import { UserActionsState } from '../../../features/insight-user-actions/insight-user-actions-state.js';
import { Controller } from '../../controller/headless-controller.js';
export type { UserActionsState, UserAction, UserSession, } from '../../../features/insight-user-actions/insight-user-actions-state.js';
export interface UserActionsProps {
    /**
     * The options for the `UserActions` controller.
     */
    options: UserActionsOptions;
}
export interface UserActionsOptions {
    /**
     * The ticket creation date in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
     */
    ticketCreationDate: string;
    /**
     * The names of custom events to exclude.
     * @defaultValue `[]`
     */
    excludedCustomActions?: string[];
}
/**
 * The UserActions controller is responsible for fetching user actions surrounding a given case creation event.
 *
 * @group Controllers
 * @category UserActions
 */
export interface UserActions extends Controller {
    /**
     * Fetch the list of user actions surrounding the ticket creation.
     * @param userId The user ID to which the user's actions belong.
     */
    fetchUserActions(userId: string): void;
    /**
     * Emits an analytics event indicating that the user actions panel was opened.
     */
    logOpenUserActions(): void;
    /**
     * The state of the UserActions controller.
     */
    state: UserActionsState;
}
/**
 *
 * @param engine - The headless engine.
 * @param props - The configurable `UserActions` properties.
 * @returns A `UserActions` controller instance.
 *
 * @group Controllers
 * @category UserActions
 */
export declare function buildUserActions(engine: InsightEngine, props: UserActionsProps): UserActions;
