import type { OAuthClientInformationFull } from '@modelcontextprotocol/sdk/shared/auth.js'; interface AuthCodeRecord { clientId: string; redmineApiKey: string; codeChallenge: string; redirectUri: string; scopes: string[]; expiresAt: number; } interface AccessTokenRecord { clientId: string; redmineApiKey: string; scopes: string[]; expiresAt: number; } interface RefreshTokenRecord { clientId: string; redmineApiKey: string; scopes: string[]; } interface StoreData { clients: Record; authCodes: Record; accessTokens: Record; refreshTokens: Record; } declare const AUTH_CODE_TTL: number; declare const ACCESS_TOKEN_TTL: number; export declare function loadStore(): void; export declare function saveStore(): void; export declare function getClient(clientId: string): OAuthClientInformationFull | undefined; export declare function registerClient(client: Omit): OAuthClientInformationFull; export declare function storeAuthCode(code: string, record: Omit): void; export declare function getAuthCode(code: string): AuthCodeRecord | undefined; export declare function deleteAuthCode(code: string): void; export declare function storeAccessToken(token: string, record: Omit): void; export declare function getAccessToken(token: string): AccessTokenRecord | undefined; export declare function deleteAccessToken(token: string): void; export declare function storeRefreshToken(token: string, record: RefreshTokenRecord): void; export declare function getRefreshToken(token: string): RefreshTokenRecord | undefined; export declare function deleteRefreshToken(token: string): void; export declare function getApiKeyForToken(token: string): string | undefined; export { AUTH_CODE_TTL, ACCESS_TOKEN_TTL }; export type { AuthCodeRecord, AccessTokenRecord, RefreshTokenRecord, StoreData }; //# sourceMappingURL=store.d.ts.map