import { Check, CheckOptions } from '../types/Check';
import { Deleted } from '../types/Deleted';
import { Downtime } from '../types/Downtime';
import { GroupedMetrics, Metrics } from '../types/Metrics';
import { Nodes } from '../types/Node';
import { Webhook, WebhookOptions } from '../types/Webhook';
import { GetCheckOptions } from '../api/getCheck';
import { GetDowntimesOptions } from '../api/getDowntimes';
import { GetGroupedMetricsOptions, GetMetricsOptions } from '../api/getMetrics';
export declare class UpdownClient {
    private readonly apiKey;
    constructor(apiKey: string);
    getChecks(): Promise<Check[]>;
    getCheck(token: string, options?: GetCheckOptions): Promise<Check>;
    getDowntimes(token: string, options?: GetDowntimesOptions): Promise<Downtime[]>;
    getMetrics(token: string, options?: GetMetricsOptions): Promise<Metrics>;
    getMetrics(token: string, options: GetGroupedMetricsOptions): Promise<GroupedMetrics>;
    addCheck(options: CheckOptions): Promise<Check>;
    updateCheck(token: string, options: Partial<CheckOptions>): Promise<Check>;
    deleteCheck(token: string): Promise<Deleted>;
    getNodes(): Promise<Nodes>;
    getIpv4Nodes(): Promise<string[]>;
    getIpv6Nodes(): Promise<string[]>;
    getWebhooks(): Promise<Webhook[]>;
    addWebhook(options: WebhookOptions): Promise<Webhook>;
    deleteWebhook(id: string): Promise<Deleted>;
}
