import type { BaseLogger } from '@kubricate/core';
import type { GlobalConfigOptions } from '../../internal/types.js';
import type { KubricateConfig } from '../../types.js';
import { type RenderedFile } from './GenerateRunner.js';
import type { ProjectGenerateOptions } from './types.js';
export interface GenerateCommandOptions extends GlobalConfigOptions {
    outDir: string;
    /**
     * Output into stdout
     *
     * When set, the generated files will be printed to stdout instead of being written to disk.
     */
    stdout: boolean;
    /**
     * Filter stacks or resources by ID (e.g., myStack or myStack.resource)
     *
     * Empty if not specified, all stacks will be included.
     */
    filter?: string[];
}
export declare class GenerateCommand {
    protected options: GenerateCommandOptions;
    protected logger: BaseLogger;
    constructor(options: GenerateCommandOptions, logger: BaseLogger);
    resolveDefaultGenerateOptions(config: KubricateConfig): Required<ProjectGenerateOptions> & ProjectGenerateOptions;
    execute(config: KubricateConfig): Promise<void>;
    getRenderedFiles(config: KubricateConfig, outputMode: ProjectGenerateOptions['outputMode']): RenderedFile[];
    filterResources(renderedFiles: RenderedFile[], filters: string[]): RenderedFile[];
    showStacks(config: KubricateConfig): void;
}
//# sourceMappingURL=GenerateCommand.d.ts.map