import type { TwinfinityHttpClient } from '@twinfinity/authentication';
/**
 * Represents a authentication session used by {@link BimApi} and {@link BimTwinfinityApiClient}.
 */
export interface TwinfinityApiOptions {
    /**
     * Session used to get authorization header for requests.
     * If not provided, requests will be made without an authorization header.
     * If provided, the client will use this session to get the authorization header for each request.
     */
    session?: {
        getAuthorizationHeader: () => Promise<string>;
    };
    /**
     * HTTP client to make requests to Twinfinity API.
     */
    httpClient?: TwinfinityHttpClient;
    /**
     * Application name used to identify the client in request headers and telemetry.
     * If not provided, defaults to `-unknown-`.
     */
    applicationName?: string;
}
/**
 * Left for compatibility purposes. Use {@link TwinfinityApiOptions} instead.
 * @deprecated
 */
export type TwinfintyApiSession = Required<Pick<TwinfinityApiOptions, 'session'>>;
//# sourceMappingURL=TwinfinityApiOptions.d.ts.map