import { ChainId } from '@monaxlabs/phloem/dist/types'; import { Signer } from 'ethers'; import { JWTPayload } from 'jose'; import { GatingAPI } from '..'; import { SupportedNetwork } from './secrets'; export type GateCreated = GatingAPI.GateResponse & { id: string; }; export type GateOptions = { onExisting?: 'delete' | 'reuse'; }; export declare function configureGate(network: SupportedNetwork, gateName: string, roles: Omit[], options?: GateOptions): Promise; export declare function authenticateForGate(chainId: ChainId, gateId: string, signer: Signer): Promise; export declare function parseAndVerifyJWT(publicKey: GatingAPI.JWK, jwtToken: string): Promise<{ payload: JWTPayload; roles: string[]; }>;