import { Model, InferAttributes, InferCreationAttributes, CreationOptional, ModelStatic } from "vr-migrations"; export interface IdempotencyRecordAttributes { id: string; key: string; requestMethod: string; requestPath: string; requestParams: Record | null; responseStatusCode: number | null; responseBody: Record; createdAt: Date; expiresAt: Date; } export interface IdempotencyRecordCreationAttributes extends Omit { id?: string; requestParams?: Record | null; responseBody?: Record; responseStatusCode?: number | null; } export declare class IdempotencyRecord extends Model, InferCreationAttributes> implements IdempotencyRecordAttributes { id: CreationOptional; key: string; requestMethod: string; requestPath: string; requestParams: CreationOptional | null>; responseStatusCode: CreationOptional; responseBody: CreationOptional>; readonly createdAt: CreationOptional; expiresAt: Date; static initialize(sequelize: any): void; static associate(models: Record>): void; static invalidate(key: string): Promise; isValid(): boolean; isExpired(): boolean; getResponse(): { statusCode: number | null; body: Record; } | null; } export type IdempotencyRecordModel = typeof IdempotencyRecord;