import { DIContainer } from '../../core/container/DIContainer.js';
import type { ServerConfig } from '../../types/index.js';
/**
 * Creates a test configuration object with sensible defaults
 */
export declare const createTestConfig: (overrides?: Partial<ServerConfig>) => ServerConfig;
/**
 * Creates a test DI container with mock services
 */
export declare const createTestContainer: () => DIContainer;
/**
 * Creates a test file path within the project
 */
export declare const createTestPath: (...segments: string[]) => string;
/**
 * Creates a mock .postgen directory structure
 */
export declare const mockPostgenStructure: {
    config: {
        'config.json': string;
    };
    analysis: {
        'sample-analysis': {
            'sample-analysis.json': string;
        };
        'tone-analysis': {
            'tone-analysis.json': string;
        };
    };
    'content-plans': {
        'content-plan-2023-01.json': string;
    };
    narratives: {
        'narrative-1.json': string;
    };
    posts: {
        'post-1.md': string;
        'post-1.json': string;
    };
};
/**
 * Sets up file system mocks based on the postgen structure
 */
export declare const setupPostgenMocks: () => void;
/**
 * Waits for a specified number of milliseconds
 */
export declare const wait: (ms: number) => Promise<void>;
/**
 * Captures console output during test execution
 */
export declare const captureConsole: () => {
    logs: string[];
    errors: string[];
    warns: string[];
    restore: () => void;
};
/**
 * Creates a test that times out after a specified duration
 */
export declare const withTimeout: <T>(promise: Promise<T>, timeoutMs: number) => Promise<T>;
/**
 * Asserts that a function throws an error with a specific message
 */
export declare const expectToThrow: (fn: () => Promise<any> | any, expectedMessage?: string | RegExp) => Promise<void>;
//# sourceMappingURL=testHelpers.d.ts.map