///
import EventEmitter from "events";
import { z } from "zod";
import { AutomatePayloadSchema, EnvSchema, IpDataConfigSchema, IpDataFieldsSchema, IpDataResponseSchema, IpHistorySchema, PartialRouterConfigSchema, RenewalPrioritySchema, RouterConfigSchema } from "./schemas";
export declare type RouterEnv = z.infer;
export declare type RenewalPriority = z.infer;
export declare type AutomatePayload = z.infer;
export declare type RouterConfig = z.infer;
export declare type IpHistory = z.infer;
export declare type IpDataConfig = z.infer;
export declare type IpDataFields = z.infer;
export declare type IpDataResponse = z.infer;
export declare type PartialRouterConfig = z.input;
export declare type RenewIp = (config: PartialRouterConfig) => Promise;
export interface RenewableRouter extends EventEmitter {
readonly ip: string | undefined;
readonly lastCachedIp: string | undefined;
readonly attempts: number;
readonly history: IpHistory[];
init(): Promise;
renew(): Promise;
validateIp(ip: IpHistory | undefined): boolean;
}
//# sourceMappingURL=types.d.ts.map