/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as environments from "../../../../environments.js";
import * as core from "../../../../core/index.js";
import * as Respeecher from "../../../index.js";
export declare namespace Voices {
    interface Options {
        environment?: core.Supplier<environments.RespeecherEnvironment | environments.RespeecherEnvironmentUrls>;
        /** Specify a custom URL to connect the client to. */
        baseUrl?: core.Supplier<string>;
        apiKey?: core.Supplier<string>;
        /** Additional headers to include in requests. */
        headers?: Record<string, string | core.Supplier<string | undefined> | undefined>;
    }
    interface RequestOptions {
        /** The maximum time to wait for a response in seconds. */
        timeoutInSeconds?: number;
        /** The number of times to retry the request. Defaults to 2. */
        maxRetries?: number;
        /** A hook to abort the request. */
        abortSignal?: AbortSignal;
        /** Additional headers to include in the request. */
        headers?: Record<string, string | core.Supplier<string | undefined> | undefined>;
    }
}
export declare class Voices {
    protected readonly _options: Voices.Options;
    constructor(_options?: Voices.Options);
    /**
     * List of available voices with IDs and metadata.
     *
     * @param {Voices.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.voices.list()
     */
    list(requestOptions?: Voices.RequestOptions): core.HttpResponsePromise<Respeecher.Voice[]>;
    private __list;
    protected _getCustomAuthorizationHeaders(): Promise<{
        "X-API-Key": string | undefined;
    }>;
}
