import IBase from '../Base'; import IUser from '../User'; import { UserPopulate } from '../User/User'; export declare enum ClientType { web = "web", android = "android", ios = "ios", other = "other" } export declare enum CodeChallengeMethod { plain = "plain", sha256 = "sha256" } export default interface IOAuthClientCredential extends IBase { secret?: string; name?: string; description?: string; logo?: string; owner?: IUser | string; type?: ClientType | keyof typeof ClientType; scope?: string[]; trusted?: boolean; deletable?: boolean; ssoId?: string; } export declare class OAuthClientCredentialPopulate implements IOAuthClientCredential { _id: string; name: string; description?: string; type: IOAuthClientCredential['type']; logo?: string; } export declare class OAuthClientCredentialRequest implements IOAuthClientCredential { name: string; description?: string; type: IOAuthClientCredential['type']; /** * @format binary */ logo?: string; scope?: IOAuthClientCredential['scope']; trusted?: IOAuthClientCredential['trusted']; deletable?: IOAuthClientCredential['deletable']; /** * @TJS-type object */ props?: any; /** * @TJS-type object */ extendedProps?: any; ssoId?: string; } export declare class OAuthClientCredentialResponse implements IOAuthClientCredential { _id: string; name: string; description?: string; type: IOAuthClientCredential['type']; logo?: string; scope?: IOAuthClientCredential['scope']; trusted: IOAuthClientCredential['trusted']; deletable: IOAuthClientCredential['deletable']; ssoId?: string; props?: IBase['props']; extendedProps?: IBase['extendedProps']; createdAt?: IBase['createdAt']; createdBy?: UserPopulate | string; updatedAt?: IBase['updatedAt']; updatedBy?: UserPopulate | string; }