/**
 * Create Terminal Session Use Case
 *
 * Opens a new interactive PTY session rooted at an application's working
 * directory (or any caller-supplied cwd). Returns an opaque session id
 * that presentation layers use for subsequent input/output/resize calls.
 *
 * Also enriches the spawn env with integration credentials when configured
 * (e.g. GH_TOKEN / GITHUB_TOKEN from the GitHub integration) so tools like
 * `gh` and `git push https://...` authenticate without the user having to
 * paste tokens into the terminal.
 */
import type { CreatedTerminalSession, ITerminalSessionService } from '../../ports/output/services/terminal-session-service.interface.js';
import type { IGithubIntegrationRepository } from '../../ports/output/repositories/github-integration.repository.interface.js';
export interface CreateTerminalSessionCommand {
    cwd: string;
    cols?: number;
    rows?: number;
}
export declare class CreateTerminalSessionUseCase {
    private readonly terminals;
    private readonly github;
    constructor(terminals: ITerminalSessionService, github: IGithubIntegrationRepository);
    execute(command: CreateTerminalSessionCommand): Promise<CreatedTerminalSession>;
}
//# sourceMappingURL=create-terminal-session.use-case.d.ts.map