import type { DaggerEnv, DaggerEnvConfig } from './dagger-env.js';
/**
 * Configuration for running Dagger commands with 1Password integration
 */
export interface RunDaggerCommandConfig<T extends DaggerEnvConfig = DaggerEnvConfig> {
    /** 1Password vault ID */
    opVault: string;
    /** 1Password item ID */
    opItem: string;
    /** 1Password sections to include for secrets */
    opSections: Array<{
        label: string;
        id: string;
    }>;
    /** Commands that should include Docker socket if available */
    dockerCommands?: string[];
    /** Hook to run before executing the command (e.g., vendor file setup) */
    beforeCommand?: () => Promise<void>;
    /** DaggerEnv instance for schema validation and type safety */
    daggerEnv: DaggerEnv<T>;
}
/**
 * Options for individual command execution
 */
export interface RunDaggerCommandOptions {
    /** Arguments to pass to the Dagger command */
    args?: Record<string, any>;
    /** Additional environment variables */
    env?: Record<string, string>;
    /** Additional command-line arguments */
    extraArgs?: string[];
}
/**
 * Creates a function to run Dagger commands with 1Password integration
 * @param config Configuration for the command runner
 * @returns Function to execute Dagger commands
 */
export declare function createDaggerCommandRunner<T extends DaggerEnvConfig>(config: RunDaggerCommandConfig<T>): (commandName: string, options?: RunDaggerCommandOptions) => Promise<void>;
//# sourceMappingURL=run-dagger-cmd.d.ts.map