export type LayoutType = "hud" | "menu" | "dialog" | "list" | "custom";
export interface WidgetDef {
    /** Widget class (e.g., "TextWidgetClass", "ImageWidgetClass") */
    type: string;
    /** Widget name — used for FindAnyWidget() lookups in scripts */
    name: string;
    /** Anchor: "left top right bottom" as floats 0-1 (e.g., "0 0 1 0" = top-stretch) */
    anchor?: string;
    /** Offset: "left top right bottom" in pixels relative to anchor */
    offset?: string;
    /** Additional properties (e.g., Text, Color, Min, Max, Current) */
    properties?: Record<string, string>;
    /** Nested child widgets */
    children?: WidgetDef[];
}
export interface LayoutOptions {
    /** Layout name (used for filename) */
    name: string;
    /** Layout template type */
    layoutType: LayoutType;
    /** Root widget type override (default: FrameWidgetClass) */
    rootWidgetType?: string;
    /** Root widget anchor */
    anchor?: string;
    /** Root widget offset (pixel positioning) */
    offset?: string;
    /** Child widgets to add */
    widgets?: WidgetDef[];
    /** Description comment */
    description?: string;
}
/**
 * Generate an Enfusion .layout file for UI widgets.
 */
export declare function generateLayout(opts: LayoutOptions): string;
/**
 * Get the subdirectory for layout files.
 */
export declare function getLayoutSubdirectory(): string;
/**
 * Derive a filename from the layout name.
 */
export declare function getLayoutFilename(name: string): string;
//# sourceMappingURL=layout.d.ts.map