/**
 * List Applications Use Case
 *
 * Returns all (non-deleted) application records with their effective
 * status derived from the `setupComplete` flag and workflow steps.
 */
import type { Application } from '../../../domain/generated/output.js';
import type { IApplicationRepository } from '../../ports/output/repositories/application-repository.interface.js';
import type { IWorkflowStepRepository } from '../../ports/output/repositories/workflow-step-repository.interface.js';
/**
 * Effective status for an application, derived from persisted app
 * status + workflow step health.
 *
 *  - `ready`       — setup complete, app is usable
 *  - `building`    — setup in progress (a step is running)
 *  - `interrupted` — setup was interrupted (agent killed / crashed)
 *  - `failed`      — a setup step failed with an error
 */
export type ApplicationEffectiveStatus = 'ready' | 'building' | 'interrupted' | 'failed';
export interface ApplicationWithStatus extends Application {
    effectiveStatus: ApplicationEffectiveStatus;
}
export declare class ListApplicationsUseCase {
    private readonly appRepo;
    private readonly stepRepo;
    constructor(appRepo: IApplicationRepository, stepRepo: IWorkflowStepRepository);
    execute(): Promise<ApplicationWithStatus[]>;
}
//# sourceMappingURL=list-applications.use-case.d.ts.map