import type { MySatisfactionDto } from '@/services/api/ticketApi';
type TFunction = ReturnType<typeof import('react-i18next').useTranslation>['t'];
export interface SatisfactionRatingProps {
    readonly satisfaction: MySatisfactionDto | null;
    readonly showRatingForm: boolean;
    readonly ratingValue: number;
    readonly ratingComment: string;
    readonly submittingRating: boolean;
    readonly onShowForm: () => void;
    readonly onRatingChange: (value: number) => void;
    readonly onCommentChange: (value: string) => void;
    readonly onCancel: () => void;
    readonly onSubmit: () => Promise<void>;
    readonly t: TFunction;
}
export declare function SatisfactionRating({ satisfaction, showRatingForm, ratingValue, ratingComment, submittingRating, onShowForm, onRatingChange, onCommentChange, onCancel, onSubmit, t, }: Readonly<SatisfactionRatingProps>): import("react/jsx-runtime").JSX.Element;
export interface ResolveModalProps {
    readonly show: boolean;
    readonly resolution: string;
    readonly saving: boolean;
    readonly onResolutionChange: (value: string) => void;
    readonly onClose: () => void;
    readonly onResolve: () => Promise<void>;
    readonly t: TFunction;
}
export declare function ResolveModal({ show, resolution, saving, onResolutionChange, onClose, onResolve, t }: Readonly<ResolveModalProps>): import("react/jsx-runtime").JSX.Element | null;
export interface AssignModalProps {
    readonly show: boolean;
    readonly filteredUsers: Array<{
        id: string;
        email: string;
        fullName: string;
    }>;
    readonly selectedUserIds: string[];
    readonly selectedGroupIds: string[];
    readonly groups: Array<{
        id: string;
        name: string;
        memberCount: number;
    }>;
    readonly userSearchQuery: string;
    readonly groupSearchQuery: string;
    readonly loadingUsers: boolean;
    readonly loadingGroups: boolean;
    readonly saving: boolean;
    readonly activeTab: 'users' | 'groups';
    readonly onUserSearchChange: (value: string) => void;
    readonly onGroupSearchChange: (value: string) => void;
    readonly onSelectUser: (id: string) => void;
    readonly onSelectGroup: (id: string) => void;
    readonly onTabChange: (tab: 'users' | 'groups') => void;
    readonly onClose: () => void;
    readonly onAssign: () => Promise<void>;
    readonly t: TFunction;
}
export declare function AssignModal({ show, filteredUsers, selectedUserIds, selectedGroupIds, groups, userSearchQuery, groupSearchQuery, loadingUsers, loadingGroups, saving, activeTab, onUserSearchChange, onGroupSearchChange, onSelectUser, onSelectGroup, onTabChange, onClose, onAssign, t, }: Readonly<AssignModalProps>): import("react/jsx-runtime").JSX.Element | null;
export interface EscalateModalProps {
    readonly show: boolean;
    readonly escalationLevel: string;
    readonly escalationReason: string;
    readonly saving: boolean;
    readonly onLevelChange: (value: string) => void;
    readonly onReasonChange: (value: string) => void;
    readonly onClose: () => void;
    readonly onEscalate: () => Promise<void>;
    readonly t: TFunction;
}
export declare function EscalateModal({ show, escalationLevel, escalationReason, saving, onLevelChange, onReasonChange, onClose, onEscalate, t, }: Readonly<EscalateModalProps>): import("react/jsx-runtime").JSX.Element | null;
export {};
//# sourceMappingURL=TicketDetailModals.d.ts.map