// Generated by @compas/code-gen



/**
 * User definable, optional object to store whatever you want
 */
export type StoreFileMeta = {
  "transforms"?: any|undefined;
  "transformedFromOriginal"?: string|undefined;
  "originalWidth"?: number|undefined;
  "originalHeight"?: number|undefined;
  "placeholderImage"?: string|undefined;
  "altText"?: string|undefined;
};

/**
 * Postgres based file storage.
 */
export type StoreFile = {
  
  /**
   * The primary key of the 'file' model.
   */
  "id": string;
  "contentLength": number;
  "bucketName": string;
  "contentType": string;
  "name": string;
  "meta": StoreFileMeta;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date;
};

/**
 * User definable, optional object to store whatever you want
 */
export type StoreFileMetaInput = {
  "transforms"?: any|undefined;
  "transformedFromOriginal"?: string|undefined;
  "originalWidth"?: number|undefined;
  "originalHeight"?: number|undefined;
  "placeholderImage"?: string|undefined;
  "altText"?: string|undefined;
}|undefined;

/**
 * Postgres based file storage.
 */
export type StoreFileInput = {
  
  /**
   * The primary key of the 'file' model.
   */
  "id": string;
  "contentLength": number;
  "bucketName": string;
  "contentType": string;
  "name": string;
  "meta"?: StoreFileMetaInput|undefined;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date|string|number;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date|string|number;
};

export type StoreFileWhere = {
  "$raw"?: (import("@compas/store").QueryPart<any>)|undefined;
  "$or"?: (StoreFileWhere)[]|undefined;
  "id"?: string|undefined;
  "idNotEqual"?: string|undefined;
  "idIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "idNotIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "bucketName"?: string|undefined;
  "bucketNameNotEqual"?: string|undefined;
  "bucketNameIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "bucketNameNotIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "bucketNameLike"?: string|undefined;
  "bucketNameILike"?: string|undefined;
  "bucketNameNotLike"?: string|undefined;
  "createdAt"?: Date|string|number|undefined;
  "createdAtNotEqual"?: Date|string|number|undefined;
  "createdAtIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "createdAtNotIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "createdAtGreaterThan"?: Date|string|number|undefined;
  "createdAtLowerThan"?: Date|string|number|undefined;
  "updatedAt"?: Date|string|number|undefined;
  "updatedAtNotEqual"?: Date|string|number|undefined;
  "updatedAtIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "updatedAtNotIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "updatedAtGreaterThan"?: Date|string|number|undefined;
  "updatedAtLowerThan"?: Date|string|number|undefined;
};

export type StoreFileWhereValidated = {
  "$raw"?: import("@compas/store").QueryPart<any>|undefined;
  "$or"?: (StoreFileWhereValidated)[]|undefined;
  "id"?: string|undefined;
  "idNotEqual"?: string|undefined;
  "idIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "idNotIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "bucketName"?: string|undefined;
  "bucketNameNotEqual"?: string|undefined;
  "bucketNameIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "bucketNameNotIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "bucketNameLike"?: string|undefined;
  "bucketNameILike"?: string|undefined;
  "bucketNameNotLike"?: string|undefined;
  "createdAt"?: Date|undefined;
  "createdAtNotEqual"?: Date|undefined;
  "createdAtIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "createdAtNotIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "createdAtGreaterThan"?: Date|undefined;
  "createdAtLowerThan"?: Date|undefined;
  "updatedAt"?: Date|undefined;
  "updatedAtNotEqual"?: Date|undefined;
  "updatedAtIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "updatedAtNotIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "updatedAtGreaterThan"?: Date|undefined;
  "updatedAtLowerThan"?: Date|undefined;
};

export type StoreFileOrderBy = 
  |(import("@compas/store").QueryPart<any>)
  |("id"|"bucketName"|"createdAt"|"updatedAt")[];

export type StoreFileOrderBySpec = {
  "id"?: "ASC"|"DESC"|undefined;
  "bucketName"?: "ASC"|"DESC"|undefined;
  "createdAt"?: "ASC"|"DESC"|undefined;
  "updatedAt"?: "ASC"|"DESC"|undefined;
};

export type StoreFileReturning = 
  |"*"
  |("id"|"contentLength"|"bucketName"|"contentType"|"name"|"meta"|"createdAt"|"updatedAt")[]
  |undefined;

export type StoreFileQueryBuilder = {
  "where"?: StoreFileWhere|undefined;
  "orderBy"?: StoreFileOrderBy|undefined;
  "orderBySpec"?: StoreFileOrderBySpec|undefined;
  "limit"?: number|undefined;
  "offset"?: number|undefined;
  "select"?: StoreFileReturning|undefined;
};

export type StoreFileQueryBuilderValidated = {
  "where"?: StoreFileWhereValidated|undefined;
  "orderBy"?: StoreFileOrderBy|undefined;
  "orderBySpec"?: StoreFileOrderBySpec|undefined;
  "limit"?: number|undefined;
  "offset"?: number|undefined;
  "select": StoreFileReturning;
};

export type QueryResultStoreFile = {
  
  /**
   * The primary key of the 'file' model.
   */
  "id": string;
  "contentLength": number;
  "bucketName": string;
  "contentType": string;
  "name": string;
  "meta": StoreFileMeta;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date;
};

export type QueryResultStoreFileInput = {
  
  /**
   * The primary key of the 'file' model.
   */
  "id": string;
  "contentLength": number;
  "bucketName": string;
  "contentType": string;
  "name": string;
  "meta"?: StoreFileMetaInput|undefined;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date|string|number;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date|string|number;
};

export type StoreFileInsertPartial = {
  
  /**
   * The primary key of the 'file' model.
   */
  "id"?: string|undefined;
  "contentLength": number;
  "bucketName": string;
  "contentType": string;
  "name": string;
  "meta"?: StoreFileMetaInput|undefined|null;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt"?: Date|string|number|undefined|null;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt"?: Date|string|number|undefined|null;
};

export type StoreFileInsert = {
  "insert": (StoreFileInsertPartial)[]|StoreFileInsertPartial;
  "returning"?: StoreFileReturning|undefined;
};

export type StoreFileInsertPartialValidated = {
  
  /**
   * The primary key of the 'file' model.
   */
  "id"?: string|undefined;
  "contentLength": number;
  "bucketName": string;
  "contentType": string;
  "name": string;
  "meta": StoreFileMeta;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt"?: Date|undefined|null;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt"?: Date|undefined|null;
};

export type StoreFileInsertValidated = {
  "insert": (StoreFileInsertPartialValidated)[];
  "returning"?: StoreFileReturning|undefined;
};

export type StoreFileUpdatePartial = {
  "contentLength"?: 
    |{
      "$divide": number;
    }
    |{
      "$multiply": number;
    }
    |{
      "$subtract": number;
    }
    |{
      "$add": number;
    }
    |number|undefined;
  "bucketName"?: 
    |{
      "$append": string;
    }
    |string|undefined;
  "contentType"?: 
    |{
      "$append": string;
    }
    |string|undefined;
  "name"?: 
    |{
      "$append": string;
    }
    |string|undefined;
  "meta"?: 
    |{
      "$set": {
        "path": (
          |number
          |string)[];
        "value": any;
      };
    }
    |{
      "$remove": {
        "path": (
          |number
          |string)[];
      };
    }
    |StoreFileMetaInput|undefined|null;
  "createdAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|string|number|undefined;
  "updatedAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|string|number|undefined;
};

export type StoreFileUpdate = {
  "update": StoreFileUpdatePartial;
  "where": StoreFileWhere;
  "returning"?: StoreFileReturning|undefined;
};

export type StoreFileUpdatePartialValidated = {
  "contentLength"?: 
    |{
      "$divide": number;
    }
    |{
      "$multiply": number;
    }
    |{
      "$subtract": number;
    }
    |{
      "$add": number;
    }
    |number|undefined;
  "bucketName"?: 
    |{
      "$append": string;
    }
    |string|undefined;
  "contentType"?: 
    |{
      "$append": string;
    }
    |string|undefined;
  "name"?: 
    |{
      "$append": string;
    }
    |string|undefined;
  "meta"?: 
    |{
      "$set": {
        "path": (
          |number
          |string)[];
        "value": any;
      };
    }
    |{
      "$remove": {
        "path": (
          |number
          |string)[];
      };
    }
    |StoreFileMeta;
  "createdAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|undefined;
  "updatedAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|undefined;
};

export type StoreFileUpdateValidated = {
  "update": StoreFileUpdatePartialValidated;
  "where": StoreFileWhereValidated;
  "returning"?: StoreFileReturning|undefined;
};

/**
 * Postgres based job queue.
 * Use {@link queueWorkerAddJob} to insert new jobs in to the queue and {@link queueWorkerRegisterCronJobs} for all your recurring jobs.
 * Use {@link queueWorkerCreate} as a way to pick up jobs.
 */
export type StoreJob = {
  "id": number;
  "isComplete": boolean;
  "handlerTimeout"?: number|undefined;
  "priority": number;
  "retryCount": number;
  "name": string;
  "scheduledAt": Date;
  "data": any;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date;
};

/**
 * Postgres based job queue.
 * Use {@link queueWorkerAddJob} to insert new jobs in to the queue and {@link queueWorkerRegisterCronJobs} for all your recurring jobs.
 * Use {@link queueWorkerCreate} as a way to pick up jobs.
 */
export type StoreJobInput = {
  "id": number;
  "isComplete"?: boolean|"true"|"false"|undefined;
  "handlerTimeout"?: number|undefined;
  "priority"?: number|undefined;
  "retryCount"?: number|undefined;
  "name": string;
  "scheduledAt"?: Date|string|number|undefined;
  "data"?: any|undefined;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date|string|number;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date|string|number;
};

export type StoreJobWhere = {
  "$raw"?: (import("@compas/store").QueryPart<any>)|undefined;
  "$or"?: (StoreJobWhere)[]|undefined;
  "id"?: number|undefined;
  "idNotEqual"?: number|undefined;
  "idIn"?: 
    |(number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "idNotIn"?: 
    |(number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "idGreaterThan"?: number|undefined;
  "idLowerThan"?: number|undefined;
  "isComplete"?: boolean|"true"|"false"|undefined;
  "isCompleteIsNull"?: boolean|"true"|"false"|undefined;
  "isCompleteIsNotNull"?: boolean|"true"|"false"|undefined;
  "name"?: string|undefined;
  "nameNotEqual"?: string|undefined;
  "nameIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "nameNotIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "nameLike"?: string|undefined;
  "nameILike"?: string|undefined;
  "nameNotLike"?: string|undefined;
  "scheduledAt"?: Date|string|number|undefined;
  "scheduledAtNotEqual"?: Date|string|number|undefined;
  "scheduledAtIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "scheduledAtNotIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "scheduledAtGreaterThan"?: Date|string|number|undefined;
  "scheduledAtLowerThan"?: Date|string|number|undefined;
  "scheduledAtIsNull"?: boolean|"true"|"false"|undefined;
  "scheduledAtIsNotNull"?: boolean|"true"|"false"|undefined;
  "createdAt"?: Date|string|number|undefined;
  "createdAtNotEqual"?: Date|string|number|undefined;
  "createdAtIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "createdAtNotIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "createdAtGreaterThan"?: Date|string|number|undefined;
  "createdAtLowerThan"?: Date|string|number|undefined;
  "updatedAt"?: Date|string|number|undefined;
  "updatedAtNotEqual"?: Date|string|number|undefined;
  "updatedAtIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "updatedAtNotIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "updatedAtGreaterThan"?: Date|string|number|undefined;
  "updatedAtLowerThan"?: Date|string|number|undefined;
};

export type StoreJobWhereValidated = {
  "$raw"?: import("@compas/store").QueryPart<any>|undefined;
  "$or"?: (StoreJobWhereValidated)[]|undefined;
  "id"?: number|undefined;
  "idNotEqual"?: number|undefined;
  "idIn"?: 
    |(number)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "idNotIn"?: 
    |(number)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "idGreaterThan"?: number|undefined;
  "idLowerThan"?: number|undefined;
  "isComplete"?: boolean|undefined;
  "isCompleteIsNull"?: boolean|undefined;
  "isCompleteIsNotNull"?: boolean|undefined;
  "name"?: string|undefined;
  "nameNotEqual"?: string|undefined;
  "nameIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "nameNotIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "nameLike"?: string|undefined;
  "nameILike"?: string|undefined;
  "nameNotLike"?: string|undefined;
  "scheduledAt"?: Date|undefined;
  "scheduledAtNotEqual"?: Date|undefined;
  "scheduledAtIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "scheduledAtNotIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "scheduledAtGreaterThan"?: Date|undefined;
  "scheduledAtLowerThan"?: Date|undefined;
  "scheduledAtIsNull"?: boolean|undefined;
  "scheduledAtIsNotNull"?: boolean|undefined;
  "createdAt"?: Date|undefined;
  "createdAtNotEqual"?: Date|undefined;
  "createdAtIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "createdAtNotIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "createdAtGreaterThan"?: Date|undefined;
  "createdAtLowerThan"?: Date|undefined;
  "updatedAt"?: Date|undefined;
  "updatedAtNotEqual"?: Date|undefined;
  "updatedAtIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "updatedAtNotIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "updatedAtGreaterThan"?: Date|undefined;
  "updatedAtLowerThan"?: Date|undefined;
};

export type StoreJobOrderBy = 
  |(import("@compas/store").QueryPart<any>)
  |("id"|"isComplete"|"name"|"scheduledAt"|"createdAt"|"updatedAt")[];

export type StoreJobOrderBySpec = {
  "id"?: "ASC"|"DESC"|undefined;
  "isComplete"?: "ASC"|"DESC"|"ASC NULLS FIRST"|"DESC NULLS LAST"|undefined;
  "name"?: "ASC"|"DESC"|undefined;
  "scheduledAt"?: "ASC"|"DESC"|"ASC NULLS FIRST"|"DESC NULLS LAST"|undefined;
  "createdAt"?: "ASC"|"DESC"|undefined;
  "updatedAt"?: "ASC"|"DESC"|undefined;
};

export type StoreJobReturning = 
  |"*"
  |("id"|"isComplete"|"handlerTimeout"|"priority"|"retryCount"|"name"|"scheduledAt"|"data"|"createdAt"|"updatedAt")[]
  |undefined;

export type StoreJobQueryBuilder = {
  "where"?: StoreJobWhere|undefined;
  "orderBy"?: StoreJobOrderBy|undefined;
  "orderBySpec"?: StoreJobOrderBySpec|undefined;
  "limit"?: number|undefined;
  "offset"?: number|undefined;
  "select"?: StoreJobReturning|undefined;
};

export type StoreJobQueryBuilderValidated = {
  "where"?: StoreJobWhereValidated|undefined;
  "orderBy"?: StoreJobOrderBy|undefined;
  "orderBySpec"?: StoreJobOrderBySpec|undefined;
  "limit"?: number|undefined;
  "offset"?: number|undefined;
  "select": StoreJobReturning;
};

export type QueryResultStoreJob = {
  "id": number;
  "isComplete": boolean;
  "handlerTimeout"?: number|undefined;
  "priority": number;
  "retryCount": number;
  "name": string;
  "scheduledAt": Date;
  "data": any;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date;
};

export type QueryResultStoreJobInput = {
  "id": number;
  "isComplete"?: boolean|"true"|"false"|undefined;
  "handlerTimeout"?: number|undefined;
  "priority"?: number|undefined;
  "retryCount"?: number|undefined;
  "name": string;
  "scheduledAt"?: Date|string|number|undefined;
  "data"?: any|undefined;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date|string|number;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date|string|number;
};

export type StoreJobInsertPartial = {
  "id"?: number|undefined;
  "isComplete"?: boolean|"true"|"false"|undefined|null;
  "handlerTimeout"?: number|undefined|null;
  "priority"?: number|undefined|null;
  "retryCount"?: number|undefined|null;
  "name": string;
  "scheduledAt"?: Date|string|number|undefined|null;
  "data"?: any|undefined|null;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt"?: Date|string|number|undefined|null;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt"?: Date|string|number|undefined|null;
};

export type StoreJobInsert = {
  "insert": (StoreJobInsertPartial)[]|StoreJobInsertPartial;
  "returning"?: StoreJobReturning|undefined;
};

export type StoreJobInsertPartialValidated = {
  "id"?: number|undefined;
  "isComplete": boolean;
  "handlerTimeout"?: number|undefined|null;
  "priority": number;
  "retryCount": number;
  "name": string;
  "scheduledAt": Date;
  "data": any;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt"?: Date|undefined|null;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt"?: Date|undefined|null;
};

export type StoreJobInsertValidated = {
  "insert": (StoreJobInsertPartialValidated)[];
  "returning"?: StoreJobReturning|undefined;
};

export type StoreJobUpdatePartial = {
  "isComplete"?: 
    |{
      "$negate": boolean|"true"|"false";
    }
    |boolean|"true"|"false"|undefined|null;
  "handlerTimeout"?: 
    |{
      "$divide": number;
    }
    |{
      "$multiply": number;
    }
    |{
      "$subtract": number;
    }
    |{
      "$add": number;
    }
    |number|undefined|null;
  "priority"?: 
    |{
      "$divide": number;
    }
    |{
      "$multiply": number;
    }
    |{
      "$subtract": number;
    }
    |{
      "$add": number;
    }
    |number|undefined|null;
  "retryCount"?: 
    |{
      "$divide": number;
    }
    |{
      "$multiply": number;
    }
    |{
      "$subtract": number;
    }
    |{
      "$add": number;
    }
    |number|undefined|null;
  "name"?: 
    |{
      "$append": string;
    }
    |string|undefined;
  "scheduledAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|string|number|undefined|null;
  "data"?: 
    |{
      "$set": {
        "path": (
          |number
          |string)[];
        "value": any;
      };
    }
    |{
      "$remove": {
        "path": (
          |number
          |string)[];
      };
    }
    |any|undefined|null;
  "createdAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|string|number|undefined;
  "updatedAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|string|number|undefined;
};

export type StoreJobUpdate = {
  "update": StoreJobUpdatePartial;
  "where": StoreJobWhere;
  "returning"?: StoreJobReturning|undefined;
};

export type StoreJobUpdatePartialValidated = {
  "isComplete"?: 
    |{
      "$negate": boolean;
    }
    |boolean;
  "handlerTimeout"?: 
    |{
      "$divide": number;
    }
    |{
      "$multiply": number;
    }
    |{
      "$subtract": number;
    }
    |{
      "$add": number;
    }
    |number|undefined|null;
  "priority"?: 
    |{
      "$divide": number;
    }
    |{
      "$multiply": number;
    }
    |{
      "$subtract": number;
    }
    |{
      "$add": number;
    }
    |number;
  "retryCount"?: 
    |{
      "$divide": number;
    }
    |{
      "$multiply": number;
    }
    |{
      "$subtract": number;
    }
    |{
      "$add": number;
    }
    |number;
  "name"?: 
    |{
      "$append": string;
    }
    |string|undefined;
  "scheduledAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date;
  "data"?: 
    |{
      "$set": {
        "path": (
          |number
          |string)[];
        "value": any;
      };
    }
    |{
      "$remove": {
        "path": (
          |number
          |string)[];
      };
    }
    |any;
  "createdAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|undefined;
  "updatedAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|undefined;
};

export type StoreJobUpdateValidated = {
  "update": StoreJobUpdatePartialValidated;
  "where": StoreJobWhereValidated;
  "returning"?: StoreJobReturning|undefined;
};

/**
 * Store all tokens that belong to a session.
 */
export type StoreSessionStoreToken = {
  
  /**
   * The primary key of the 'sessionStoreToken' model.
   */
  "id": string;
  
  /**
   * The primary key of the 'sessionStore' model.
   */
  "session": string;
  "expiresAt": Date;
  
  /**
   * The primary key of the 'sessionStoreToken' model.
   */
  "refreshToken"?: string|undefined;
  "revokedAt"?: Date|undefined;
  "createdAt": Date;
};

/**
 * Session data store, used by 'sessionStore\*' functions.
 */
export type StoreSessionStore = {
  
  /**
   * The primary key of the 'sessionStore' model.
   */
  "id": string;
  "checksum": string;
  "revokedAt"?: Date|undefined;
  "data": any;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date;
};

/**
 * Store all tokens that belong to a session.
 */
export type StoreSessionStoreTokenInput = {
  
  /**
   * The primary key of the 'sessionStoreToken' model.
   */
  "id": string;
  
  /**
   * The primary key of the 'sessionStore' model.
   */
  "session": string;
  "expiresAt": Date|string|number;
  
  /**
   * The primary key of the 'sessionStoreToken' model.
   */
  "refreshToken"?: string|undefined;
  "revokedAt"?: Date|string|number|undefined;
  "createdAt": Date|string|number;
};

/**
 * Session data store, used by 'sessionStore\*' functions.
 */
export type StoreSessionStoreInput = {
  
  /**
   * The primary key of the 'sessionStore' model.
   */
  "id": string;
  "checksum": string;
  "revokedAt"?: Date|string|number|undefined;
  "data"?: any|undefined;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date|string|number;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date|string|number;
};

export type StoreSessionStoreTokenWhere = {
  "$raw"?: (import("@compas/store").QueryPart<any>)|undefined;
  "$or"?: (StoreSessionStoreTokenWhere)[]|undefined;
  "id"?: string|undefined;
  "idNotEqual"?: string|undefined;
  "idIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "idNotIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "session"?: string|undefined;
  "sessionNotEqual"?: string|undefined;
  "sessionIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "sessionNotIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "expiresAt"?: Date|string|number|undefined;
  "expiresAtNotEqual"?: Date|string|number|undefined;
  "expiresAtIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "expiresAtNotIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "expiresAtGreaterThan"?: Date|string|number|undefined;
  "expiresAtLowerThan"?: Date|string|number|undefined;
  "refreshToken"?: string|undefined;
  "refreshTokenNotEqual"?: string|undefined;
  "refreshTokenIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "refreshTokenNotIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "refreshTokenIsNull"?: boolean|"true"|"false"|undefined;
  "refreshTokenIsNotNull"?: boolean|"true"|"false"|undefined;
  "revokedAt"?: Date|string|number|undefined;
  "revokedAtNotEqual"?: Date|string|number|undefined;
  "revokedAtIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "revokedAtNotIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "revokedAtGreaterThan"?: Date|string|number|undefined;
  "revokedAtLowerThan"?: Date|string|number|undefined;
  "revokedAtIsNull"?: boolean|"true"|"false"|undefined;
  "revokedAtIsNotNull"?: boolean|"true"|"false"|undefined;
  "viaRefreshToken"?: {
    "where"?: StoreSessionStoreTokenWhere|undefined;
    "limit"?: number|undefined;
    "offset"?: number|undefined;
  }|undefined;
  "viaSession"?: {
    "where"?: StoreSessionStoreWhere|undefined;
    "limit"?: number|undefined;
    "offset"?: number|undefined;
  }|undefined;
  "viaAccessToken"?: {
    "where"?: StoreSessionStoreTokenWhere|undefined;
    "limit"?: number|undefined;
    "offset"?: number|undefined;
  }|undefined;
  "accessTokenNotExists"?: StoreSessionStoreTokenWhere|undefined;
};

export type StoreSessionStoreWhere = {
  "$raw"?: (import("@compas/store").QueryPart<any>)|undefined;
  "$or"?: (StoreSessionStoreWhere)[]|undefined;
  "id"?: string|undefined;
  "idNotEqual"?: string|undefined;
  "idIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "idNotIn"?: 
    |(string)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "createdAt"?: Date|string|number|undefined;
  "createdAtNotEqual"?: Date|string|number|undefined;
  "createdAtIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "createdAtNotIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "createdAtGreaterThan"?: Date|string|number|undefined;
  "createdAtLowerThan"?: Date|string|number|undefined;
  "updatedAt"?: Date|string|number|undefined;
  "updatedAtNotEqual"?: Date|string|number|undefined;
  "updatedAtIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "updatedAtNotIn"?: 
    |(Date|string|number)[]
    |(import("@compas/store").QueryPart<any>)
    |undefined;
  "updatedAtGreaterThan"?: Date|string|number|undefined;
  "updatedAtLowerThan"?: Date|string|number|undefined;
  "viaAccessTokens"?: {
    "where"?: StoreSessionStoreTokenWhere|undefined;
    "limit"?: number|undefined;
    "offset"?: number|undefined;
  }|undefined;
  "accessTokensNotExists"?: StoreSessionStoreTokenWhere|undefined;
};

export type StoreSessionStoreTokenWhereValidated = {
  "$raw"?: import("@compas/store").QueryPart<any>|undefined;
  "$or"?: (StoreSessionStoreTokenWhereValidated)[]|undefined;
  "id"?: string|undefined;
  "idNotEqual"?: string|undefined;
  "idIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "idNotIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "session"?: string|undefined;
  "sessionNotEqual"?: string|undefined;
  "sessionIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "sessionNotIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "expiresAt"?: Date|undefined;
  "expiresAtNotEqual"?: Date|undefined;
  "expiresAtIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "expiresAtNotIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "expiresAtGreaterThan"?: Date|undefined;
  "expiresAtLowerThan"?: Date|undefined;
  "refreshToken"?: string|undefined;
  "refreshTokenNotEqual"?: string|undefined;
  "refreshTokenIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "refreshTokenNotIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "refreshTokenIsNull"?: boolean|undefined;
  "refreshTokenIsNotNull"?: boolean|undefined;
  "revokedAt"?: Date|undefined;
  "revokedAtNotEqual"?: Date|undefined;
  "revokedAtIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "revokedAtNotIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "revokedAtGreaterThan"?: Date|undefined;
  "revokedAtLowerThan"?: Date|undefined;
  "revokedAtIsNull"?: boolean|undefined;
  "revokedAtIsNotNull"?: boolean|undefined;
  "viaRefreshToken"?: {
    "where": StoreSessionStoreTokenWhereValidated;
    "limit"?: number|undefined;
    "offset"?: number|undefined;
  }|undefined;
  "viaSession"?: {
    "where": StoreSessionStoreWhereValidated;
    "limit"?: number|undefined;
    "offset"?: number|undefined;
  }|undefined;
  "viaAccessToken"?: {
    "where": StoreSessionStoreTokenWhereValidated;
    "limit"?: number|undefined;
    "offset"?: number|undefined;
  }|undefined;
  "accessTokenNotExists"?: StoreSessionStoreTokenWhereValidated|undefined;
};

export type StoreSessionStoreWhereValidated = {
  "$raw"?: import("@compas/store").QueryPart<any>|undefined;
  "$or"?: (StoreSessionStoreWhereValidated)[]|undefined;
  "id"?: string|undefined;
  "idNotEqual"?: string|undefined;
  "idIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "idNotIn"?: 
    |(string)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "createdAt"?: Date|undefined;
  "createdAtNotEqual"?: Date|undefined;
  "createdAtIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "createdAtNotIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "createdAtGreaterThan"?: Date|undefined;
  "createdAtLowerThan"?: Date|undefined;
  "updatedAt"?: Date|undefined;
  "updatedAtNotEqual"?: Date|undefined;
  "updatedAtIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "updatedAtNotIn"?: 
    |(Date)[]
    |import("@compas/store").QueryPart<any>
    |undefined;
  "updatedAtGreaterThan"?: Date|undefined;
  "updatedAtLowerThan"?: Date|undefined;
  "viaAccessTokens"?: {
    "where": StoreSessionStoreTokenWhereValidated;
    "limit"?: number|undefined;
    "offset"?: number|undefined;
  }|undefined;
  "accessTokensNotExists"?: StoreSessionStoreTokenWhereValidated|undefined;
};

export type StoreSessionStoreOrderBy = 
  |(import("@compas/store").QueryPart<any>)
  |("id"|"createdAt"|"updatedAt")[];

export type StoreSessionStoreOrderBySpec = {
  "id"?: "ASC"|"DESC"|undefined;
  "createdAt"?: "ASC"|"DESC"|undefined;
  "updatedAt"?: "ASC"|"DESC"|undefined;
};

export type StoreSessionStoreReturning = 
  |"*"
  |("id"|"checksum"|"revokedAt"|"data"|"createdAt"|"updatedAt")[]
  |undefined;

export type StoreSessionStoreTokenOrderBy = 
  |(import("@compas/store").QueryPart<any>)
  |("id"|"session"|"expiresAt"|"refreshToken"|"revokedAt")[];

export type StoreSessionStoreTokenOrderBySpec = {
  "id"?: "ASC"|"DESC"|undefined;
  "session"?: "ASC"|"DESC"|undefined;
  "expiresAt"?: "ASC"|"DESC"|undefined;
  "refreshToken"?: "ASC"|"DESC"|"ASC NULLS FIRST"|"DESC NULLS LAST"|undefined;
  "revokedAt"?: "ASC"|"DESC"|"ASC NULLS FIRST"|"DESC NULLS LAST"|undefined;
};

export type StoreSessionStoreTokenReturning = 
  |"*"
  |("id"|"session"|"expiresAt"|"refreshToken"|"revokedAt"|"createdAt")[]
  |undefined;

export type StoreSessionStoreTokenQueryBuilder = {
  "where"?: StoreSessionStoreTokenWhere|undefined;
  "orderBy"?: StoreSessionStoreTokenOrderBy|undefined;
  "orderBySpec"?: StoreSessionStoreTokenOrderBySpec|undefined;
  "limit"?: number|undefined;
  "offset"?: number|undefined;
  "select"?: StoreSessionStoreTokenReturning|undefined;
  "refreshToken"?: StoreSessionStoreTokenQueryBuilder|undefined;
  "session"?: StoreSessionStoreQueryBuilder|undefined;
  "accessToken"?: StoreSessionStoreTokenQueryBuilder|undefined;
};

export type StoreSessionStoreQueryBuilder = {
  "where"?: StoreSessionStoreWhere|undefined;
  "orderBy"?: StoreSessionStoreOrderBy|undefined;
  "orderBySpec"?: StoreSessionStoreOrderBySpec|undefined;
  "limit"?: number|undefined;
  "offset"?: number|undefined;
  "select"?: StoreSessionStoreReturning|undefined;
  "accessTokens"?: StoreSessionStoreTokenQueryBuilder|undefined;
};

export type StoreSessionStoreTokenQueryBuilderValidated = {
  "where"?: StoreSessionStoreTokenWhereValidated|undefined;
  "orderBy"?: StoreSessionStoreTokenOrderBy|undefined;
  "orderBySpec"?: StoreSessionStoreTokenOrderBySpec|undefined;
  "limit"?: number|undefined;
  "offset"?: number|undefined;
  "select": StoreSessionStoreTokenReturning;
  "refreshToken"?: StoreSessionStoreTokenQueryBuilderValidated|undefined;
  "session"?: StoreSessionStoreQueryBuilderValidated|undefined;
  "accessToken"?: StoreSessionStoreTokenQueryBuilderValidated|undefined;
};

export type StoreSessionStoreQueryBuilderValidated = {
  "where"?: StoreSessionStoreWhereValidated|undefined;
  "orderBy"?: StoreSessionStoreOrderBy|undefined;
  "orderBySpec"?: StoreSessionStoreOrderBySpec|undefined;
  "limit"?: number|undefined;
  "offset"?: number|undefined;
  "select": StoreSessionStoreReturning;
  "accessTokens"?: StoreSessionStoreTokenQueryBuilderValidated|undefined;
};

export type QueryResultStoreSessionStoreToken = {
  
  /**
   * The primary key of the 'sessionStoreToken' model.
   */
  "id": string;
  "session": 
    |string
    |QueryResultStoreSessionStore;
  "expiresAt": Date;
  "refreshToken"?: 
    |string|undefined
    |QueryResultStoreSessionStoreToken;
  "revokedAt"?: Date|undefined;
  "createdAt": Date;
  "accessToken"?: QueryResultStoreSessionStoreToken|undefined;
};

export type QueryResultStoreSessionStore = {
  
  /**
   * The primary key of the 'sessionStore' model.
   */
  "id": string;
  "checksum": string;
  "revokedAt"?: Date|undefined;
  "data": any;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date;
  "accessTokens"?: (QueryResultStoreSessionStoreToken)[]|undefined;
};

export type QueryResultStoreSessionStoreTokenInput = {
  
  /**
   * The primary key of the 'sessionStoreToken' model.
   */
  "id": string;
  "session": 
    |string
    |QueryResultStoreSessionStoreInput;
  "expiresAt": Date|string|number;
  "refreshToken"?: 
    |string|undefined
    |QueryResultStoreSessionStoreTokenInput;
  "revokedAt"?: Date|string|number|undefined;
  "createdAt": Date|string|number;
  "accessToken"?: QueryResultStoreSessionStoreTokenInput|undefined;
};

export type QueryResultStoreSessionStoreInput = {
  
  /**
   * The primary key of the 'sessionStore' model.
   */
  "id": string;
  "checksum": string;
  "revokedAt"?: Date|string|number|undefined;
  "data"?: any|undefined;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt": Date|string|number;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt": Date|string|number;
  "accessTokens"?: (QueryResultStoreSessionStoreTokenInput)[]|undefined;
};

export type StoreSessionStoreInsertPartial = {
  
  /**
   * The primary key of the 'sessionStore' model.
   */
  "id"?: string|undefined;
  "checksum": string;
  "revokedAt"?: Date|string|number|undefined|null;
  "data"?: any|undefined|null;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt"?: Date|string|number|undefined|null;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt"?: Date|string|number|undefined|null;
};

export type StoreSessionStoreInsert = {
  "insert": (StoreSessionStoreInsertPartial)[]|StoreSessionStoreInsertPartial;
  "returning"?: StoreSessionStoreReturning|undefined;
};

export type StoreSessionStoreInsertPartialValidated = {
  
  /**
   * The primary key of the 'sessionStore' model.
   */
  "id"?: string|undefined;
  "checksum": string;
  "revokedAt"?: Date|undefined|null;
  "data": any;
  
  /**
   * Automatically generated 'createdAt', containing an ISO timestamp.
   */
  "createdAt"?: Date|undefined|null;
  
  /**
   * Automatically generated 'updatedAt', containing an ISO timestamp.
   */
  "updatedAt"?: Date|undefined|null;
};

export type StoreSessionStoreInsertValidated = {
  "insert": (StoreSessionStoreInsertPartialValidated)[];
  "returning"?: StoreSessionStoreReturning|undefined;
};

export type StoreSessionStoreUpdatePartial = {
  "checksum"?: 
    |{
      "$append": string;
    }
    |string|undefined;
  "revokedAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|string|number|undefined|null;
  "data"?: 
    |{
      "$set": {
        "path": (
          |number
          |string)[];
        "value": any;
      };
    }
    |{
      "$remove": {
        "path": (
          |number
          |string)[];
      };
    }
    |any|undefined|null;
  "createdAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|string|number|undefined;
  "updatedAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|string|number|undefined;
};

export type StoreSessionStoreUpdate = {
  "update": StoreSessionStoreUpdatePartial;
  "where": StoreSessionStoreWhere;
  "returning"?: StoreSessionStoreReturning|undefined;
};

export type StoreSessionStoreUpdatePartialValidated = {
  "checksum"?: 
    |{
      "$append": string;
    }
    |string|undefined;
  "revokedAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|undefined|null;
  "data"?: 
    |{
      "$set": {
        "path": (
          |number
          |string)[];
        "value": any;
      };
    }
    |{
      "$remove": {
        "path": (
          |number
          |string)[];
      };
    }
    |any;
  "createdAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|undefined;
  "updatedAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|undefined;
};

export type StoreSessionStoreUpdateValidated = {
  "update": StoreSessionStoreUpdatePartialValidated;
  "where": StoreSessionStoreWhereValidated;
  "returning"?: StoreSessionStoreReturning|undefined;
};

export type StoreSessionStoreTokenInsertPartial = {
  
  /**
   * The primary key of the 'sessionStoreToken' model.
   */
  "id"?: string|undefined;
  
  /**
   * The primary key of the 'sessionStore' model.
   */
  "session": string;
  "expiresAt": Date|string|number;
  
  /**
   * The primary key of the 'sessionStoreToken' model.
   */
  "refreshToken"?: string|undefined|null;
  "revokedAt"?: Date|string|number|undefined|null;
  "createdAt": Date|string|number;
};

export type StoreSessionStoreTokenInsert = {
  "insert": (StoreSessionStoreTokenInsertPartial)[]|StoreSessionStoreTokenInsertPartial;
  "returning"?: StoreSessionStoreTokenReturning|undefined;
};

export type StoreSessionStoreTokenInsertPartialValidated = {
  
  /**
   * The primary key of the 'sessionStoreToken' model.
   */
  "id"?: string|undefined;
  
  /**
   * The primary key of the 'sessionStore' model.
   */
  "session": string;
  "expiresAt": Date;
  
  /**
   * The primary key of the 'sessionStoreToken' model.
   */
  "refreshToken"?: string|undefined|null;
  "revokedAt"?: Date|undefined|null;
  "createdAt": Date;
};

export type StoreSessionStoreTokenInsertValidated = {
  "insert": (StoreSessionStoreTokenInsertPartialValidated)[];
  "returning"?: StoreSessionStoreTokenReturning|undefined;
};

export type StoreSessionStoreTokenUpdatePartial = {
  "session"?: 
    |string|undefined;
  "expiresAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|string|number|undefined;
  "refreshToken"?: 
    |string|undefined|null;
  "revokedAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|string|number|undefined|null;
  "createdAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|string|number|undefined;
};

export type StoreSessionStoreTokenUpdate = {
  "update": StoreSessionStoreTokenUpdatePartial;
  "where": StoreSessionStoreTokenWhere;
  "returning"?: StoreSessionStoreTokenReturning|undefined;
};

export type StoreSessionStoreTokenUpdatePartialValidated = {
  "session"?: 
    |string|undefined;
  "expiresAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|undefined;
  "refreshToken"?: 
    |string|undefined|null;
  "revokedAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|undefined|null;
  "createdAt"?: 
    |{
      "$subtract": string;
    }
    |{
      "$add": string;
    }
    |Date|undefined;
};

export type StoreSessionStoreTokenUpdateValidated = {
  "update": StoreSessionStoreTokenUpdatePartialValidated;
  "where": StoreSessionStoreTokenWhereValidated;
  "returning"?: StoreSessionStoreTokenReturning|undefined;
};

export type QueryDefinitionStoreFile = import("@compas/store").QueryBuilderDefinition<StoreFile, QueryExpansionStoreFile>;
export type StoreFileQueryResolver<QueryBuilder extends StoreFileQueryBuilder, const OptionalJoins extends import("@compas/store").ResolveOptionalJoins<QueryExpansionStoreFile> = never> = import("@compas/store").QueryBuilderResolver<QueryDefinitionStoreFile, QueryBuilder, OptionalJoins>;

export type QueryDefinitionStoreJob = import("@compas/store").QueryBuilderDefinition<StoreJob, QueryExpansionStoreJob>;
export type StoreJobQueryResolver<QueryBuilder extends StoreJobQueryBuilder, const OptionalJoins extends import("@compas/store").ResolveOptionalJoins<QueryExpansionStoreJob> = never> = import("@compas/store").QueryBuilderResolver<QueryDefinitionStoreJob, QueryBuilder, OptionalJoins>;

export type QueryDefinitionStoreSessionStore = import("@compas/store").QueryBuilderDefinition<StoreSessionStore, QueryExpansionStoreSessionStore>;
export type StoreSessionStoreQueryResolver<QueryBuilder extends StoreSessionStoreQueryBuilder, const OptionalJoins extends import("@compas/store").ResolveOptionalJoins<QueryExpansionStoreSessionStore> = never> = import("@compas/store").QueryBuilderResolver<QueryDefinitionStoreSessionStore, QueryBuilder, OptionalJoins>;

export type QueryDefinitionStoreSessionStoreToken = import("@compas/store").QueryBuilderDefinition<StoreSessionStoreToken, QueryExpansionStoreSessionStoreToken>;
export type StoreSessionStoreTokenQueryResolver<QueryBuilder extends StoreSessionStoreTokenQueryBuilder, const OptionalJoins extends import("@compas/store").ResolveOptionalJoins<QueryExpansionStoreSessionStoreToken> = never> = import("@compas/store").QueryBuilderResolver<QueryDefinitionStoreSessionStoreToken, QueryBuilder, OptionalJoins>;

export type StoreFileResponse = {
  "id": string;
  "name": string;
  "contentType": string;
  "originalWidth"?: number|undefined;
  "originalHeight"?: number|undefined;
  "url": string;
  "placeholderImage"?: string|undefined;
  "altText"?: string|undefined;
};

export type StoreFileResponseInput = {
  "id": string;
  "name": string;
  "contentType": string;
  "originalWidth"?: number|undefined;
  "originalHeight"?: number|undefined;
  "url": string;
  "placeholderImage"?: string|undefined;
  "altText"?: string|undefined;
};

/**
 * Set as '.query(T.reference("store", "imageTransformOptions"))' of routes that use 'sendTransformedImage'.
 */
export type StoreImageTransformOptions = {
  "q": number;
  "w": 
    |number
    |"original";
};

/**
 * Set as '.query(T.reference("store", "imageTransformOptions"))' of routes that use 'sendTransformedImage'.
 */
export type StoreImageTransformOptionsInput = {
  "q"?: number|undefined;
  "w": 
    |number
    |"original";
};

/**
 * Set as '.query(T.reference("store", "secureImageTransformOptions"))' of routes that use 'sendTransformedImage' and 'fileVerifyAccessToken'.
 */
export type StoreSecureImageTransformOptions = {
  "accessToken": string;
  "q": number;
  "w": 
    |number
    |"original";
};

/**
 * Set as '.query(T.reference("store", "secureImageTransformOptions"))' of routes that use 'sendTransformedImage' and 'fileVerifyAccessToken'.
 */
export type StoreSecureImageTransformOptionsInput = {
  "accessToken": string;
  "q"?: number|undefined;
  "w": 
    |number
    |"original";
};

export type QueryExpansionStoreFile = {
};

export type QueryExpansionStoreJob = {
};

export type QueryExpansionStoreSessionStore = {
  "accessTokens": (QueryDefinitionStoreSessionStoreToken)[];
};

export type QueryExpansionStoreSessionStoreToken = {
  "refreshToken"?: QueryDefinitionStoreSessionStoreToken|undefined;
  "session": QueryDefinitionStoreSessionStore;
  "accessToken": QueryDefinitionStoreSessionStoreToken;
};


