// Generated by Create API
// https://github.com/CreateAPI/CreateAPI

import Foundation

public struct Filters: Codable, Equatable {
    public var addPresetClips: Bool?
    public var categories: [String]?
    public var continuationToken: String?
    public var fromIndex: Int?
    public var hideDisliked: Bool?
    public var hideGenStems: Bool?
    public var hideStudioClips: Bool?
    public var ids: String?
    public var isCover: Bool?
    public var isExtend: Bool?
    public var isFullSong: Bool?
    public var isGenStem: Bool?
    public var isInfill: Bool?
    public var isLiked: Bool?
    public var isNotDisliked: Bool?
    public var isPersona: Bool?
    public var isPublic: Bool?
    public var isScene: Bool?
    public var isSunoShort: Bool?
    public var isTrashed: Bool?
    public var isUpsample: Bool?
    public var isVideoToSong: Bool?
    public var page: Int?
    public var pageSize: Int?
    public var query: String?
    /// Sort field for playlist clips
    public var sortBy: SortBy?
    /// Sort order for playlist clips
    public var sortOrder: SortOrder?
    public var status: String?

    public init(addPresetClips: Bool? = nil, categories: [String]? = nil, continuationToken: String? = nil, fromIndex: Int? = nil, hideDisliked: Bool? = nil, hideGenStems: Bool? = nil, hideStudioClips: Bool? = nil, ids: String? = nil, isCover: Bool? = nil, isExtend: Bool? = nil, isFullSong: Bool? = nil, isGenStem: Bool? = nil, isInfill: Bool? = nil, isLiked: Bool? = nil, isNotDisliked: Bool? = nil, isPersona: Bool? = nil, isPublic: Bool? = nil, isScene: Bool? = nil, isSunoShort: Bool? = nil, isTrashed: Bool? = nil, isUpsample: Bool? = nil, isVideoToSong: Bool? = nil, page: Int? = nil, pageSize: Int? = nil, query: String? = nil, sortBy: SortBy? = nil, sortOrder: SortOrder? = nil, status: String? = nil) {
        self.addPresetClips = addPresetClips
        self.categories = categories
        self.continuationToken = continuationToken
        self.fromIndex = fromIndex
        self.hideDisliked = hideDisliked
        self.hideGenStems = hideGenStems
        self.hideStudioClips = hideStudioClips
        self.ids = ids
        self.isCover = isCover
        self.isExtend = isExtend
        self.isFullSong = isFullSong
        self.isGenStem = isGenStem
        self.isInfill = isInfill
        self.isLiked = isLiked
        self.isNotDisliked = isNotDisliked
        self.isPersona = isPersona
        self.isPublic = isPublic
        self.isScene = isScene
        self.isSunoShort = isSunoShort
        self.isTrashed = isTrashed
        self.isUpsample = isUpsample
        self.isVideoToSong = isVideoToSong
        self.page = page
        self.pageSize = pageSize
        self.query = query
        self.sortBy = sortBy
        self.sortOrder = sortOrder
        self.status = status
    }
}
