import type { OwnerConfig, VisionClawConfig } from "../config/types.js";
import type { CommandMessage } from "../channels/interface.js";
import type { ChannelManager } from "../channels/manager.js";
type SendReplyFn = (chatId: number, text: string) => Promise<void>;
/**
 * Telegram onboarding handler.
 *
 * Validates the /start verification code and finalizes onboarding.
 * Language and timezone preferences are collected after onboarding
 * completes, via the normal /settings flow.
 */
export declare class TelegramOnboardingHandler {
    private ownerConfig;
    private config;
    private channelManager;
    private _isComplete;
    constructor(ownerConfig: OwnerConfig, config: VisionClawConfig, _botToken: string, channelManager: ChannelManager);
    get isComplete(): boolean;
    /**
     * Replace the cached owner config (called when the server reports
     * a changed email so the handler validates against the new code).
     */
    updateOwnerConfig(updated: OwnerConfig): void;
    /**
     * Process a Telegram message during onboarding.
     * Returns true when onboarding is complete.
     */
    handleMessage(msg: CommandMessage, sendReply: SendReplyFn): Promise<boolean>;
    /**
     * Validate the /start verification code and finalize onboarding.
     */
    private handleCodeVerification;
    private finalizeOnboarding;
}
export {};
//# sourceMappingURL=telegram-onboarding.d.ts.map