/**
 * Application Database Mapper
 *
 * Maps between Application domain objects and SQLite database rows.
 *
 * Mapping Rules:
 * - TypeScript objects (camelCase) <-> SQL columns (snake_case)
 * - Dates stored as INTEGER (unix milliseconds)
 * - JSON arrays stored as TEXT
 */
import type { Application } from '../../../../domain/generated/output.js';
/**
 * Database row type matching the applications table schema.
 */
export interface ApplicationRow {
    id: string;
    name: string;
    slug: string;
    description: string;
    repository_path: string;
    additional_paths: string;
    agent_type: string | null;
    model_override: string | null;
    status: string;
    setup_complete: number;
    agent_session_id: string | null;
    git_remote_url: string | null;
    cloud_deployment_provider: string | null;
    cloud_deployment_status: string | null;
    cloud_deployment_id: string | null;
    cloud_deployment_url: string | null;
    cloud_deployment_error: string | null;
    last_deployed_at: number | null;
    bedrock_enabled: number;
    created_at: number;
    updated_at: number;
    deleted_at: number | null;
}
/**
 * Maps Application domain object to database row.
 */
export declare function toDatabase(app: Application): ApplicationRow;
/**
 * Maps database row to Application domain object.
 */
export declare function fromDatabase(row: ApplicationRow): Application;
//# sourceMappingURL=application.mapper.d.ts.map