import { type AccessProvisionResult, type ExecFileFn } from "./access.js"; import { type DirectoryOptions, type Instance } from "./directory.js"; export interface NormalizedWorkspaceName { displayName: string; slug: string; instanceName: string; homeName: string; } export interface CreateInstanceInput { name: string; port?: number; currentPort: number; gatewayHost?: string; authRequired?: boolean; } export interface CreateInstanceResult { instance: Instance; warning?: string; } export interface CreateInstanceDependencies extends DirectoryOptions { homeDir?: string; cliEntry?: string; execFile?: ExecFileFn; isPortAvailable?: (port: number) => Promise; waitForHealth?: (port: number) => Promise; provisionAccess?: (options: { currentPort: number; newPort: number; }) => Promise; now?: () => Date; } export declare function assertSecondaryInstancesSupported(env?: NodeJS.ProcessEnv): void; export declare function normalizeWorkspaceName(input: string): NormalizedWorkspaceName; export declare function resolveInstanceHome(selector: string, instances: Instance[], homeDir?: string): string; export declare function isPortAvailable(port: number): Promise; export declare function createInstance(input: CreateInstanceInput, dependencies?: CreateInstanceDependencies): Promise; //# sourceMappingURL=create.d.ts.map