import type { MEDIA_CHANNEL as MediaChannelType, TaskComponentData } from '../task.types';
/**
 * Capitalizes the first word of a string
 * @param str - The string to capitalize
 * @returns The string with the first word capitalized
 */
export declare const capitalizeFirstWord: (str: string, logger?: any) => string;
/**
 * Gets the correct CSS class name for the task title
 * @param isNonVoiceMedia - Whether the media type is non-voice
 * @param isIncomingTask - Whether this is an incoming task
 * @returns The appropriate CSS class name
 */
export declare const getTitleClassName: (isNonVoiceMedia: boolean, isIncomingTask: boolean, logger?: any) => string;
/**
 * Creates unique IDs for tooltip elements
 * @param interactionId - The interaction ID
 * @returns Object with tooltip trigger and tooltip IDs
 */
export declare const createTooltipIds: (interactionId?: string, logger?: any) => {
    tooltipTriggerId: string;
    tooltipId: string;
};
/**
 * Determines if the state should be shown
 * @param state - The task state
 * @param isIncomingTask - Whether this is an incoming task
 * @returns Whether to show the state
 */
export declare const shouldShowState: (state?: string, isIncomingTask?: boolean, logger?: any) => boolean;
/**
 * Determines if the queue should be shown
 * @param queue - The queue name
 * @param isIncomingTask - Whether this is an incoming task
 * @returns Whether to show the queue
 */
export declare const shouldShowQueue: (queue?: string, isIncomingTask?: boolean, logger?: any) => boolean;
/**
 * Determines if handle time should be shown
 * @param isIncomingTask - Whether this is an incoming task
 * @param ronaTimeout - The RONA timeout value
 * @param startTimeStamp - The start timestamp
 * @returns Whether to show handle time
 */
export declare const shouldShowHandleTime: (isIncomingTask?: boolean, ronaTimeout?: number, startTimeStamp?: number, logger?: any) => boolean;
/**
 * Determines if time left should be shown
 * @param isIncomingTask - Whether this is an incoming task
 * @param ronaTimeout - The RONA timeout value
 * @returns Whether to show time left
 */
export declare const shouldShowTimeLeft: (isIncomingTask?: boolean, ronaTimeout?: number, logger?: any) => boolean;
/**
 * Gets the task list item CSS classes
 * @param selected - Whether the task is selected
 * @param styles - Additional styles
 * @returns The combined CSS class string
 */
export declare const getTaskListItemClasses: (selected?: boolean, styles?: string, logger?: any) => string;
/**
 * Extracts and processes all data needed for rendering the Task component
 * @param props - The Task component props
 * @returns Processed task data with computed values
 */
export declare const extractTaskComponentData: ({ mediaType, mediaChannel, isIncomingTask, interactionId, state, queue, ronaTimeout, startTimeStamp, }: {
    mediaType?: MediaChannelType;
    mediaChannel?: MediaChannelType;
    isIncomingTask?: boolean;
    interactionId?: string;
    state?: string;
    queue?: string;
    ronaTimeout?: number;
    startTimeStamp?: number;
    acceptText?: string;
    declineText?: string;
}, logger?: any) => TaskComponentData;
