import IBase from '../Base'; import IUser from '../User'; import { UserPopulate } from '../User/User'; export declare enum KeyRestrictionType { none = "none", ipAddress = "ipAddress", httpReferrer = "httpReferrer", android = "android", ios = "ios" } export default interface IAPIKey extends IBase { name?: string; description?: string; key?: string; owner?: IUser | string; scope?: string[]; restrictionType?: KeyRestrictionType | keyof typeof KeyRestrictionType; expiresAt?: Date; deletable?: boolean; } export declare class APIKeyPopulate implements IAPIKey { _id: string; name: string; description?: string; restrictionType: IAPIKey['restrictionType']; } export declare class APIKeyRequest implements IAPIKey { name: string; description?: string; restrictionType: IAPIKey['restrictionType']; scope?: IAPIKey['scope']; deletable?: IAPIKey['deletable']; /** * @TJS-type object */ props?: any; /** * @TJS-type object */ extendedProps?: any; } export declare class APIKeyResponse implements IAPIKey { _id: string; name: string; description?: string; restrictionType: IAPIKey['restrictionType']; scope?: IAPIKey['scope']; deletable: IAPIKey['deletable']; props?: IBase['props']; extendedProps?: IBase['extendedProps']; createdAt?: IBase['createdAt']; createdBy?: UserPopulate | string; updatedAt?: IBase['updatedAt']; updatedBy?: UserPopulate | string; }