import * as fs from 'fs';
export interface SecureTempFileOptions {
    prefix?: string;
    suffix?: string;
    directory?: string;
    mode?: number;
    maxAge?: number;
    keepOnExit?: boolean;
}
export interface SecureTempFileInfo {
    path: string;
    cleanup: () => Promise<void>;
    isValid: () => boolean;
    getStats: () => fs.Stats | null;
}
export declare class SecureTempFileManager {
    private static readonly DEFAULT_TEMP_DIR;
    private static readonly DEFAULT_MODE;
    private static readonly DEFAULT_DIR_MODE;
    private static readonly MAX_TEMP_FILES;
    private static readonly DEFAULT_MAX_AGE;
    private static activeTempFiles;
    private static cleanupScheduled;
    static createSecureTempFile(content: string | Buffer, options?: SecureTempFileOptions): Promise<SecureTempFileInfo>;
    static createSecureTempDirectory(options?: SecureTempFileOptions): Promise<{
        path: string;
        cleanup: () => Promise<void>;
    }>;
    static getSecureTempDir(customDir?: string): Promise<string>;
    static cleanupAll(): Promise<void>;
    static getStats(): {
        activeFiles: number;
        oldestFileAge: number;
        totalSize: number;
    };
    private static ensureSecureDirectory;
    private static generateSecureFilename;
    private static scheduleGlobalCleanup;
    private static cleanupStaleFiles;
}
