/**
 * @license
 * Copyright 2026 Amodal Labs, Inc.
 * SPDX-License-Identifier: MIT
 */
export interface StudioAutomationOperations {
    run: boolean;
    enable: boolean;
    disable: boolean;
    update: boolean;
}
export interface StudioAutomation {
    name: string;
    schedule: string;
    message: string;
    enabled: boolean;
    operations: StudioAutomationOperations;
}
export interface StudioAutomationRun {
    id: string | number;
    status: string;
    startedAt: string | Date | null;
    completedAt: string | Date | null;
    sessionId: string | null;
    error: string | null;
}
export interface StudioAutomationUpsertInput {
    name: string;
    schedule: string;
    message: string;
    enabled?: boolean;
}
export interface StudioAutomationRunInput {
    message?: string;
}
export interface StudioAutomationsListResponse {
    automations: StudioAutomation[];
}
export interface StudioAutomationDetailResponse {
    automation: StudioAutomation;
    runs: StudioAutomationRun[];
}
export interface StudioAutomationMutationResponse {
    ok: true;
}
export interface AutomationsBackend {
    listAutomations(req: Request): Promise<StudioAutomationsListResponse>;
    getAutomation(req: Request, name: string): Promise<StudioAutomationDetailResponse | null>;
    upsertAutomation?(req: Request, input: StudioAutomationUpsertInput): Promise<StudioAutomationMutationResponse>;
    runAutomation?(req: Request, name: string, input?: StudioAutomationRunInput): Promise<StudioAutomationMutationResponse>;
    setAutomationEnabled?(req: Request, name: string, enabled: boolean): Promise<StudioAutomationMutationResponse>;
}
export declare function getAutomationsBackend(): AutomationsBackend;
export declare function setAutomationsBackend(backend: AutomationsBackend | null): void;
