import { Policy } from "../../../gen/types.gen.js";
export interface AppFile {
    runnables?: any;
    custom_path?: string;
    public?: boolean;
    summary: string;
    policy: Policy;
    data?: {
        tables?: string[];
        datatable?: string;
        schema?: string;
    };
}
/**
 * Loads all runnables from the backend folder.
 *
 * Supports two modes:
 * 1. Explicit YAML config: `<id>.yaml` with type specification + optional `<id>.<ext>` code file
 * 2. Code-only (auto-detect): Just `<id>.<ext>` - assumes type: inline with empty fields
 *
 * Converts from file format to API format:
 * - For inline scripts (type: 'inline'): derives inlineScript from sibling files
 * - For path-based runnables (type: 'script'|'hubscript'|'flow'): converts to API format
 *   e.g., { type: "script" } -> { type: "path", runType: "script" }
 *
 * Returns an empty object if the backend folder doesn't exist.
 *
 * @param backendPath - Path to the backend folder
 * @param defaultTs - Default TypeScript runtime ("bun" or "deno")
 */
export declare function loadRunnablesFromBackend(backendPath: string, defaultTs?: "bun" | "deno"): Promise<Record<string, any>>;
/**
 * Writes a single runnable to its YAML file in the backend folder.
 * The file will be named `<runnableId>.yaml`.
 *
 * Converts from API format to file format:
 * - For inline scripts: keeps type: "inline"
 * - For path-based runnables: converts { type: "path", runType: "script" } to { type: "script" }
 *   and removes schema field
 */
export declare function writeRunnableToBackend(backendPath: string, runnableId: string, runnable: any): void;
export declare function pushRawApp(workspace: string, remotePath: string, localPath: string, message?: string): Promise<void>;
export declare function generatingPolicy(app: any, path: string, publicApp: boolean): Promise<void>;
//# sourceMappingURL=raw_apps.d.ts.map