import type { RequestContext } from "../config/index.js"; interface SentryIssue { id: string; title: string; culprit: string; lastSeen: string; firstSeen: string; count: string; userCount: number; } interface SentryEvent { eventID: string; message?: string; title?: string; culprit?: string; dateReceived: string; dateCreated: string; entries: Array<{ type: string; data: unknown; }>; tags: Array<{ key: string; value: string; }>; raw: unknown; } export type AllowedStatsPeriod = "24h" | "7d" | "14d" | "30d" | "90d"; /** * 특정 프로젝트의 Sentry 로그 (Issues)를 검색합니다. * Sentry API는 'Issues'라는 용어를 사용하며, 이는 그룹화된 오류들을 의미합니다. * @param projectSlug Sentry 프로젝트 슬러그 (예: 'your-project-name') * @param query 검색 쿼리 (예: "user.id:123 error.message:\"Database timeout\"") * @param limit 반환할 결과 수 (기본값: 50) * @param cursor 페이징을 위한 커서 (옵션) * @param statsPeriod 검색 기간 (기본값: "24h") * @returns 검색된 Sentry 이슈 목록 */ export declare function searchSentryLogs(projectSlug: string, query: string | undefined, statsPeriod: AllowedStatsPeriod | undefined, limit: number | undefined, cursor: string | undefined, context: RequestContext): Promise; /** * 특정 프로젝트의 Sentry 이벤트들을 검색합니다. * @param projectSlug Sentry 프로젝트 슬러그 * @param query 검색 쿼리 * @param limit 반환할 결과 수 * @param cursor 페이징 커서 * @returns 검색된 Sentry 이벤트 목록 */ export declare function searchSentryEvents(projectSlug: string, query: string | undefined, limit: number | undefined, cursor: string | undefined, context: RequestContext): Promise; /** * 특정 Sentry 이슈(로그 그룹)의 이벤트 세부 정보를 가져옵니다. * eventId가 제공되면 해당 특정 이벤트를, 그렇지 않으면 이슈의 최신 이벤트를 가져옵니다. * @param issueId Sentry 이슈 ID * @param eventId (선택적) Sentry 이벤트 ID * @returns 해당 이벤트의 세부 정보 */ export declare function getSentryLogDetails(issueId: string, eventId: string | undefined, context: RequestContext): Promise; export {}; //# sourceMappingURL=sentry.service.d.ts.map