import type { Adapter, AdapterPayload } from 'oidc-provider';
import type { AdapterFactory } from '../../storage/AdapterFactory';
import { PassthroughAdapter, PassthroughAdapterFactory } from '../../storage/PassthroughAdapterFactory';
import type { WebIdStore } from '../webid/util/WebIdStore';
import type { ClientCredentialsStore } from './util/ClientCredentialsStore';
/**
 * A {@link PassthroughAdapter} that overrides the `find` function
 * by checking if there are stored client credentials for the given ID
 * if no payload is found in the source.
 */
export declare class ClientCredentialsAdapter extends PassthroughAdapter {
    protected readonly logger: import("global-logger-factory").Logger<unknown>;
    private readonly webIdStore;
    private readonly clientCredentialsStore;
    constructor(name: string, source: Adapter, webIdStore: WebIdStore, clientCredentialsStore: ClientCredentialsStore);
    find(label: string): Promise<AdapterPayload | void | undefined>;
}
export declare class ClientCredentialsAdapterFactory extends PassthroughAdapterFactory {
    private readonly webIdStore;
    private readonly clientCredentialsStore;
    constructor(source: AdapterFactory, webIdStore: WebIdStore, clientCredentialsStore: ClientCredentialsStore);
    createStorageAdapter(name: string): Adapter;
}
