import type { AxiosInstance } from 'axios'; export type AlertChannelType = 'CALL' | 'EMAIL' | 'OPSGENIE' | 'PAGERDUTY' | 'SLACK' | 'SLACK_APP' | 'SMS' | 'WEBHOOK'; export interface AlertChannelSubscription { id?: string | number; checkId?: string | null; checkName?: string; groupId?: number | null; groupName?: string; activated?: boolean; check?: { id?: string; name?: string; }; group?: { id?: number; name?: string; }; } export interface AlertChannel { id: number; type: AlertChannelType | string; name?: string; config?: Record; subscriptions?: AlertChannelSubscription[]; sendRecovery?: boolean; sendFailure?: boolean; sendDegraded?: boolean; sslExpiry?: boolean; sslExpiryThreshold?: number; autoSubscribe?: boolean; created_at?: string; updated_at?: string | null; createdAt?: string; updatedAt?: string | null; } export interface AlertChannelListParams { limit?: number; page?: number; } export interface PaginatedAlertChannels { alertChannels: AlertChannel[]; total: number; page: number; limit: number; } declare class AlertChannels { api: AxiosInstance; constructor(api: AxiosInstance); getAllPaginated(params?: AlertChannelListParams): Promise; get(id: number): Promise; } export default AlertChannels;