import type { FeishuConfig } from '../../../shared/agent-config.js'; export type TestAgentConfig = Omit, 'slack'> & { enabled?: boolean; homePath?: string; profile?: { displayName?: string; role?: string; }; slack?: ReturnType['slack'] & { appId?: string; avatarUrl?: string; manifestVersion?: number; teamId?: string; }; }; export declare function defaultAgentConfig(id: string): { id: string; provider: { env: { CODEX_SECRET: string; }; kind: string; model: string; reasoningEffort: string; }; slack: { appToken: string; botToken: string; }; }; export declare function withTempAnimaHome(body: (stateDir: string) => Promise, options?: { prefix?: string; }): Promise; /** * Test server config: cursor view + hold stay off unless a test opts in. * Production default is on (enable cut); harnesses often enqueue Slack without * planting journal rows, which would fail prepare under gate-on. */ export declare const TEST_SERVER_CONFIG_CURSOR_OFF: { readonly cursorDelivery: { readonly enabled: false; }; }; export declare function writeAgentConfigs(configDir: string, agents?: TestAgentConfig[]): Promise; export declare function writeSlackAgentConfig(configDir: string, slack?: { appToken?: string; botToken?: string; teamId?: string; }): Promise; export declare function writeFeishuAgentConfig(configDir: string, feishu?: Partial): Promise; export declare function waitFor(predicate: () => boolean | Promise, options?: { description?: string; intervalMs?: number; timeoutMs?: number; }): Promise; export declare function sleep(ms: number): Promise; export declare function withTimeout(promise: Promise, timeoutMs: number): Promise; //# sourceMappingURL=harness.d.ts.map