import mongoose from 'mongoose';
import type { IdTokenClaims } from '#services/database-manager/database-manager.types';
export interface PlatformDoc {
    url: string;
    clientId: string;
    name: string;
    authenticationEndpoint: string;
    accessTokenEndpoint: string;
    authorizationServer?: string;
    idTokenValidation: {
        method: string;
        key: string;
    };
    active: boolean;
    keys: {
        public: string;
        private: string;
    };
}
export interface AccessTokenDoc {
    platformUrl: string;
    clientId: string;
    scopes: string;
    value: unknown;
    createdAt: Date;
}
export type IdTokenDoc = IdTokenClaims & {
    createdAt: Date;
};
export interface NonceDoc {
    nonce: string;
    createdAt: Date;
}
export declare const PlatformModel: mongoose.Model<PlatformDoc, {}, {}, {}, mongoose.Document<unknown, {}, PlatformDoc, {}, mongoose.DefaultSchemaOptions> & PlatformDoc & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
} & {
    id: string;
}, any, PlatformDoc & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export declare const AccessTokenModel: mongoose.Model<AccessTokenDoc, {}, {}, {}, mongoose.Document<unknown, {}, AccessTokenDoc, {}, mongoose.DefaultSchemaOptions> & AccessTokenDoc & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
} & {
    id: string;
}, any, AccessTokenDoc & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export declare const NonceModel: mongoose.Model<NonceDoc, {}, {}, {}, mongoose.Document<unknown, {}, NonceDoc, {}, mongoose.DefaultSchemaOptions> & NonceDoc & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
} & {
    id: string;
}, any, NonceDoc & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export declare const IDTOKEN_COLLECTION = "idTokens";
