import type { HybridObject } from 'react-native-nitro-modules';
type ByteArray64 = number[];
export interface TorConfig {
    socks_port: number;
    data_dir: string;
    timeout_ms: number;
}
export interface HiddenServiceParams {
    port: number;
    target_port: number;
    key_data?: ByteArray64;
}
export interface StartTorParams {
    data_dir: string;
    key_data?: ByteArray64;
    socks_port: number;
    target_port: number;
    timeout_ms: number;
}
export interface StartTorResponse {
    is_success: boolean;
    onion_address: string;
    control: string;
    error_message: string;
}
export interface HiddenServiceResponse {
    is_success: boolean;
    onion_address: string;
    control: string;
}
export interface HttpGetParams {
    url: string;
    headers: string;
    timeout_ms: number;
}
export interface HttpPostParams {
    url: string;
    body: string;
    headers: string;
    timeout_ms: number;
}
export interface HttpPutParams {
    url: string;
    body: string;
    headers: string;
    timeout_ms: number;
}
export interface HttpDeleteParams {
    url: string;
    headers: string;
    timeout_ms: number;
}
export interface HttpResponse {
    status_code: number;
    body: string;
    error: string;
}
export interface Tor extends HybridObject<{
    ios: 'c++';
    android: 'c++';
}> {
    initTorService(config: TorConfig): Promise<boolean>;
    createHiddenService(params: HiddenServiceParams): Promise<HiddenServiceResponse>;
    startTorIfNotRunning(params: StartTorParams): Promise<StartTorResponse>;
    getServiceStatus(): Promise<number>;
    deleteHiddenService(onionAddress: string): Promise<boolean>;
    shutdownService(): Promise<boolean>;
    httpGet(params: HttpGetParams): Promise<HttpResponse>;
    httpPost(params: HttpPostParams): Promise<HttpResponse>;
    httpPut(params: HttpPutParams): Promise<HttpResponse>;
    httpDelete(params: HttpDeleteParams): Promise<HttpResponse>;
}
export {};
//# sourceMappingURL=Tor.nitro.d.ts.map