/**
 * Build + sign the `DhServerLogin` EIP-712 envelope the lit-ops-server's
 * `POST /api/auth/login` route expects. Used by both the CLI helper and
 * frontends that consume the SDK directly.
 */
import { Signer, TypedDataField } from "ethers";
export interface DhServerLoginMessage {
    address: string;
    issuedAt: number;
    nonce: string;
    /** Audit M-8: service endpoint URL this login targets (replay-binds to one service). */
    audience?: string;
}
export interface DhServerLoginPayload {
    chainId: number;
    message: DhServerLoginMessage;
    signature: string;
}
export declare function buildLoginDomain(chainId: number): {
    name: string;
    version: string;
    chainId: number;
};
export declare const LOGIN_TYPES: Record<string, TypedDataField[]>;
/** Audit M-8: login types with the audience binding. */
export declare const LOGIN_TYPES_WITH_AUDIENCE: Record<string, TypedDataField[]>;
/**
 * Sign a fresh login envelope. Caller POSTs the returned `payload` to the
 * server's `/api/auth/login` route.
 *
 * Audit M-8: pass `audience` (the service endpoint URL being logged into) to bind the login to
 * one service. Omit it for legacy compatibility during the migration window.
 */
export declare function buildSignedLoginPayload(signer: Signer, chainId: number, audience?: string): Promise<DhServerLoginPayload>;
