///
import { IncomingMessage, ServerResponse } from "http";
import { Http2ServerRequest, Http2ServerResponse } from "http2";
import { AddressInfo } from "net";
declare class S3rver {
constructor(options: S3rverOptions);
run(): Promise;
run(callback: (error: Error | null, address: AddressInfo) => void): this;
close(): Promise;
close(callback: (error?: Error) => void): this;
callback(): (req: IncomingMessage | Http2ServerRequest, res: ServerResponse | Http2ServerResponse) => void;
getMiddleware(): (req: IncomingMessage | Http2ServerRequest, res: ServerResponse | Http2ServerResponse) => void;
configureBuckets(): Promise;
reset(): void;
}
interface S3rverOptions {
address?: string | undefined;
port?: number | undefined;
key?: string | Buffer | undefined;
cert?: string | Buffer | undefined;
silent?: boolean | undefined;
serviceEndpoint?: string | undefined;
directory?: string | undefined;
resetOnClose?: boolean | undefined;
allowMismatchedSignatures?: boolean | undefined;
vhostBuckets?: boolean | undefined;
configureBuckets?: ReadonlyArray | undefined;
}
interface S3rverBucketConfig {
name: string;
configs: ReadonlyArray;
}
export = S3rver;