import { ZipExtractor } from '../type';
import { Fs } from '@internal/domain/fs';
export declare class JsZipExtractor implements ZipExtractor {
    private fs;
    constructor(fs: Fs);
    extract(zipPath: string, targetDir: string): Promise<void>;
    list(zipPath: string): Promise<string[]>;
    private extractZipData;
    private extractSingleEntry;
    private listZipContents;
}
export declare class WebZipExtractor implements ZipExtractor {
    private fs;
    constructor(fs: Fs);
    extract(zipPath: string, targetDir: string): Promise<void>;
    list(zipPath: string): Promise<string[]>;
}
export declare class MockZipExtractor implements ZipExtractor {
    private mockContents;
    setMockContents(zipPath: string, contents: string[]): void;
    extract(zipPath: string, targetDir: string): Promise<void>;
    list(zipPath: string): Promise<string[]>;
}
export declare function newZipExtractor(fs: Fs, environment?: 'node' | 'browser'): ZipExtractor;
export declare function newMockZipExtractor(): MockZipExtractor;
