export interface SceneResource {
    id: string;
    type: string;
    description?: string;
    dependsOn?: string | string[];
    params: Record<string, any>;
    output: Record<string, string>;
}
export interface SceneConfig {
    name: string;
    version: string;
    description?: string;
    metadata?: {
        icon?: string;
        category?: string;
        tags?: string[];
    };
    resources: SceneResource[];
    outputTemplate?: string;
    nextSteps?: Array<{
        command: string;
        description: string;
    }>;
}
export interface SceneInfo {
    name: string;
    description?: string | undefined;
    icon?: string | undefined;
    category?: string | undefined;
    tags?: string[] | undefined;
    resources?: number | undefined;
}
export declare class SceneConfigLoader {
    private builtinScenesPath;
    private userScenesPath;
    constructor();
    loadScene(name: string): Promise<SceneConfig>;
    loadBuiltinScene(name: string): Promise<SceneConfig>;
    loadUserScene(name: string): Promise<SceneConfig>;
    listBuiltinScenes(): string[];
    listUserScenes(): string[];
    listAllScenes(): {
        builtin: string[];
        user: string[];
    };
    getSceneInfo(name: string): SceneInfo;
    private loadSceneSync;
    getExecutionOrder(config: SceneConfig): string[];
    validateConfig(config: any): string[];
    private validateOutputFieldRefs;
}
//# sourceMappingURL=scene-config-loader.d.ts.map