/**
 * Telegram Credentials Persistence Service
 *
 * Persists Telegram bot token to ~/.crewly/telegram-credentials.json so that
 * tokens configured via the /settings UI survive server restarts.
 * The file is written with 0600 permissions to protect secrets.
 *
 * @module services/telegram/telegram-credentials
 */
/**
 * Shape of the persisted Telegram credentials file.
 */
export interface PersistedTelegramCredentials {
    /** Telegram Bot API token */
    botToken: string;
    /** Default chat ID to send messages to (optional) */
    defaultChatId?: string;
    /** Allowed user IDs that can interact with the bot (optional) */
    allowedUserIds?: string[];
}
/**
 * Telegram configuration used by TelegramService.
 */
export interface TelegramConfig {
    /** Telegram Bot API token */
    botToken: string;
    /** Default chat ID */
    defaultChatId?: string;
    /** Allowed user IDs */
    allowedUserIds?: string[];
}
/**
 * Save Telegram credentials to disk with restricted file permissions (0600).
 *
 * @param config - The TelegramConfig to persist
 */
export declare function saveTelegramCredentials(config: TelegramConfig): Promise<void>;
/**
 * Load saved Telegram credentials from disk.
 *
 * @returns TelegramConfig if credentials file exists and is valid, null otherwise
 */
export declare function loadTelegramCredentials(): Promise<TelegramConfig | null>;
/**
 * Delete saved Telegram credentials from disk.
 */
export declare function deleteTelegramCredentials(): Promise<void>;
/**
 * Check if saved Telegram credentials exist on disk.
 *
 * @returns True if the credentials file exists
 */
export declare function hasSavedTelegramCredentials(): Promise<boolean>;
//# sourceMappingURL=telegram-credentials.service.d.ts.map