import { User } from "../types/user.types.js";
import * as mongoose$1 from "mongoose";
import { Schema } from "mongoose";
import { Client, Token as Token$1 } from "oauth2-server";

//#region src/schemas/oAuth2.schema.d.ts
type Token = Omit<Token$1, 'client' | 'user'> & {
  clientId: Client['id'];
  userId: User['id'];
};
declare const accessTokenSchema: Schema<Token, mongoose$1.Model<Token, any, any, any, (mongoose$1.Document<unknown, any, Token, any, mongoose$1.DefaultSchemaOptions> & Omit<Token$1, "user" | "client"> & {
  clientId: Client["id"];
  userId: User["id"];
} & {
  _id: mongoose$1.Types.ObjectId;
} & {
  __v: number;
} & {
  id: string;
}) | (mongoose$1.Document<unknown, any, Token, any, mongoose$1.DefaultSchemaOptions> & Omit<Token$1, "user" | "client"> & {
  clientId: Client["id"];
  userId: User["id"];
} & {
  _id: mongoose$1.Types.ObjectId;
} & {
  __v: number;
}), any, Token>, {}, {}, {}, {}, mongoose$1.DefaultSchemaOptions, Token, mongoose$1.Document<unknown, {}, Token, {
  id: string;
}, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Token$1, "user" | "client"> & {
  clientId: Client["id"];
  userId: User["id"];
} & {
  _id: mongoose$1.Types.ObjectId;
} & {
  __v: number;
}, "id"> & {
  id: string;
}, {
  [x: string]: mongoose$1.SchemaDefinitionProperty<any, Token, mongoose$1.Document<unknown, {}, Token, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Token$1, "user" | "client"> & {
    clientId: Client["id"];
    userId: User["id"];
  } & {
    _id: mongoose$1.Types.ObjectId;
  } & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  [x: number]: mongoose$1.SchemaDefinitionProperty<any, Token, mongoose$1.Document<unknown, {}, Token, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Token$1, "user" | "client"> & {
    clientId: Client["id"];
    userId: User["id"];
  } & {
    _id: mongoose$1.Types.ObjectId;
  } & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  clientId?: mongoose$1.SchemaDefinitionProperty<string, Token, mongoose$1.Document<unknown, {}, Token, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Token$1, "user" | "client"> & {
    clientId: Client["id"];
    userId: User["id"];
  } & {
    _id: mongoose$1.Types.ObjectId;
  } & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  userId?: User["id"];
}, Token>;
//#endregion
export { Token, accessTokenSchema };
//# sourceMappingURL=oAuth2.schema.d.ts.map