import { IFetchComponent } from '@well-known-components/interfaces';
import RequestError from './errors';
export declare const AUTH_CHAIN_HEADER_PREFIX = "x-identity-auth-chain-";
export declare const AUTH_TIMESTAMP_HEADER = "x-identity-timestamp";
export declare const AUTH_METADATA_HEADER = "x-identity-metadata";
export declare const DEFAULT_CATALYST = "https://peer.decentraland.org";
export declare const DEFAULT_EXPIRATION: number;
export declare const DEFAULT_ERROR_FORMAT: (err: any) => {
    ok: boolean;
    message: any;
};
export type DecentralandSignatureData<P> = {
    auth: string;
    authMetadata: P;
};
export type DecentralandSignatureContext<P> = {
    verification?: DecentralandSignatureData<P>;
};
export type DecentralandSignatureRequiredContext<P> = {
    verification: DecentralandSignatureData<P>;
};
export type VerifyAuthChainHeadersOptions = {
    catalyst?: string;
    expiration?: number;
    fetcher: IFetchComponent;
    metadataValidator?: (metadata: Record<string, any>) => boolean;
};
export type SessionOptions = {
    optional?: boolean;
    onError?: (err: RequestError) => any;
};
export type Options = VerifyAuthChainHeadersOptions & SessionOptions;
//# sourceMappingURL=types.d.ts.map