import type { LocalExecutionContextConfig } from '../types/connector/index.js';
import type { CommandExecutor, CommandOptions, CommandResult, ExecutionCapability, ExecutionEnvironment } from '../types/execution/index.js';
import { BaseExecutionContext } from './base.js';
export interface LocalExecutionContextOptions {
    id: string;
    cwd: string;
    fsAccess?: boolean;
    envVars?: Record<string, string>;
    capabilities?: ExecutionCapability[];
    shell?: string;
}
export declare class LocalExecutionContext extends BaseExecutionContext implements CommandExecutor {
    readonly id: string;
    readonly environment: ExecutionEnvironment;
    private cwd;
    private fsAccess;
    private envVars;
    private capabilities;
    private shell;
    constructor(options: LocalExecutionContextOptions);
    protected doInitialize(): Promise<void>;
    protected doTeardown(): Promise<void>;
    getCwd(): string;
    setCwd(newCwd: string): void;
    hasFsAccess(): boolean;
    resolvePath(relativePath: string): string;
    getEnvVar(key: string): string | undefined;
    getEnvVars(): Record<string, string>;
    getCapabilities(): ExecutionCapability[];
    hasCapability(cap: ExecutionCapability): boolean;
    executeCommand(command: string, args?: string[], options?: CommandOptions): Promise<CommandResult>;
    toConfig(): LocalExecutionContextConfig;
}
//# sourceMappingURL=local.d.ts.map