export declare enum SupportStatus {
    ABERTO = "aberto",
    RESPONDIDO = "respondido",
    ENCERRADO = "encerrado"
}
export declare enum SupportCategory {
    ACESSO = "acesso",
    TECNICO = "tecnico",
    OUTROS = "outros"
}
export type TicketStatus = SupportStatus;
export type ProblemType = SupportCategory | null;
export type TabType = 'criar-pedido' | 'historico';
export interface SupportResponse {
    id: string;
    receivedAt: string;
    message: string;
}
export interface SupportTicket {
    id: string;
    title: string;
    status: TicketStatus;
    createdAt: string;
    category: ProblemType;
    description?: string;
    response?: SupportResponse;
}
export declare const getStatusBadgeAction: (status: SupportStatus) => "success" | "error" | "warning" | "info";
export declare const getStatusText: (status: SupportStatus) => string;
export declare const getCategoryText: (category: SupportCategory | null) => string;
export interface CreateSupportTicketRequest {
    subject: string;
    description: string;
    type: string;
}
export interface CreateSupportTicketResponse {
    message: string;
    data: {
        id: string;
        ownerId: string;
        type: string;
        email: string;
        subject: string;
        description: string;
        status: string;
        createdAt: string;
        updatedAt: string;
    };
}
export interface SupportTicketAPI {
    id: string;
    ownerId: string;
    type: string;
    email: string;
    subject: string;
    description: string;
    status: string;
    createdAt: string;
    updatedAt: string;
}
export interface SupportPagination {
    page: number;
    limit: number;
    total: number;
    totalPages: number;
    hasNext: boolean;
    hasPrev: boolean;
}
export interface GetSupportTicketsResponse {
    message: string;
    data: {
        support: SupportTicketAPI[];
        pagination: SupportPagination;
    };
}
export interface SupportAnswerAPI {
    id: string;
    userId: string;
    supportId: string;
    answer: string;
    read: boolean;
    createdAt: string;
    updatedAt: string;
}
export interface GetSupportAnswersResponse {
    message: string;
    data: SupportAnswerAPI[];
}
export interface SubmitSupportAnswerRequest {
    userId: string;
    supportId: string;
    answer: string;
}
export interface SubmitSupportAnswerResponse {
    message: string;
    data: SupportAnswerAPI;
}
export declare const mapApiStatusToInternal: (apiStatus: string) => SupportStatus;
export declare const mapInternalStatusToApi: (internalStatus: SupportStatus) => string;
export interface SupportApiClient {
    get: <T>(url: string) => Promise<{
        data: T;
    }>;
    post: <T>(url: string, data?: unknown) => Promise<{
        data: T;
    }>;
    patch: <T>(url: string, data?: unknown) => Promise<{
        data: T;
    }>;
}
export declare enum SupportType {
    NATIVE = "NATIVE",
    ZENDESK = "ZENDESK"
}
export interface SupportFeatureFlags {
    institutionId: string;
    page: string;
    version: {
        supportType: SupportType;
    };
}
//# sourceMappingURL=support.d.ts.map