import * as Sequelize from 'sequelize' import * as Promise from 'bluebird' export namespace OAuthClientMethods { export type CountTotal = () => Promise export type LoadFirstClient = () => Promise export type GetByIdAndSecret = (clientId: string, clientSecret: string) => Promise } export interface OAuthClientClass { countTotal: OAuthClientMethods.CountTotal loadFirstClient: OAuthClientMethods.LoadFirstClient getByIdAndSecret: OAuthClientMethods.GetByIdAndSecret } export interface OAuthClientAttributes { clientId: string clientSecret: string grants: string[] redirectUris: string[] } export interface OAuthClientInstance extends OAuthClientClass, OAuthClientAttributes, Sequelize.Instance { id: number createdAt: Date updatedAt: Date } export interface OAuthClientModel extends OAuthClientClass, Sequelize.Model {}