import type { RouteBindingManager } from '../../channels/index.js';
import type { CompanionChatManager } from '../../companion/companion-chat-manager.js';
import type { ConfigManager } from '../../config/manager.js';
type JsonRecord = Record<string, unknown>;
interface HomeAssistantRouteContext {
    readonly configManager: Pick<ConfigManager, 'get'>;
    readonly routeBindings: Pick<RouteBindingManager, 'start' | 'upsertBinding' | 'patchBinding'>;
    readonly chatManager: CompanionChatManager;
    readonly parseJsonBody: (req: Request) => Promise<JsonRecord | Response>;
    readonly resolveDefaultProviderModel?: (() => {
        provider: string;
        model: string;
    } | null) | undefined;
}
export declare class HomeAssistantConversationRoutes {
    private readonly context;
    private readonly messageIndex;
    constructor(context: HomeAssistantRouteContext);
    handle(req: Request): Promise<Response | null>;
    private describeHealth;
    private submitConversation;
    private respondToSubmit;
    private streamConversation;
    private cancelConversation;
    private parseInput;
    private indexMessage;
    private readRemoteSessionTtlMs;
}
export {};
//# sourceMappingURL=homeassistant-routes.d.ts.map