import type { CloudflareConfig, TunnelInfo, IngressRule, TunnelApiConfig } from '../types.js'; export declare function getCloudflareConfig(): Promise; export declare function saveCloudflareConfig(cfg: CloudflareConfig): Promise; /** * Auto-detect cloudflare tunnel info from the running cloudflared service. * Returns { accountId, tunnelId } or null. */ export declare function detectTunnelInfo(): Promise; /** * Get current tunnel ingress configuration. */ export declare function getTunnelConfig(accountId: string, tunnelId: string): Promise; /** * Update tunnel ingress configuration. * ingressRules: array of { hostname, service } objects. * Always appends a catch-all rule { service: 'http_status:404' }. */ export declare function updateTunnelIngress(accountId: string, tunnelId: string, ingressRules: IngressRule[]): Promise; /** * Add a hostname route to the cloudflare tunnel. * Reads existing config, adds the new rule, and updates. */ export declare function addTunnelHostname(hostname: string, serviceUrl: string): Promise; /** * List all configured hostnames for the tunnel. */ export declare function listTunnelHostnames(): Promise; /** * Find the hooks domain from the tunnel config (looks for port 18800). */ export declare function detectHooksDomain(): Promise; /** * Create a DNS CNAME record for a new tunnel hostname. */ export declare function createDnsCname(zoneId: string, hostname: string, tunnelId: string): Promise; /** * List zones for the account. */ export declare function listZones(): Promise; /** * Initialize cloudflare config from the running cloudflared service. * Returns the config object. */ export declare function initCloudflareConfig(apiToken: string): Promise; //# sourceMappingURL=cloudflare.d.ts.map