import type { EthereumAuthProvider } from '@ceramicnetwork/blockchain-utils-linking';
import { Core } from '@self.id/core';
import type { ModelTypeAliases } from '@glazed/types';
import type { CoreModelTypes } from '@self.id/core';
import { DID } from 'dids';
import { DIDSession } from 'did-session';
/**
 * Extends {@linkcode core.Core}
 *
 * ```sh
 * import { WebClientSession } from '@self.id/web'
 * ```
 */
export declare class WebClientSession<ModelTypes extends ModelTypeAliases = CoreModelTypes> extends Core<ModelTypes> {
    #private;
    authenticate(authProvider: EthereumAuthProvider, attachToCeramic?: boolean, sessionStr?: string): Promise<DID>;
    get session(): DIDSession | undefined;
}
