/// export interface fetchDataProps { searchText: string; searchType: string; skip: number; limit: number; startIndex?: number; stopIndex?: number; ai_suggestions?: AISuggestions; sortBy?: { id: string; sortingDirection: 'asc' | 'desc'; }; queryBuilder?: Record; searchTermsOperator?: 'and' | 'or'; objectType?: string; fields?: string[]; searchField?: string; } export interface AISuggestions { space_uids: string[]; ai_weighted_query: { query: string; weightage: number; }[]; color: string[]; } export interface AssetThumbnailRefreshProps { count: number | undefined; reFetchAssetData: () => void; } export interface AssetThumbnailProps { data: AssetData; rowIndex: number; spaceUid: string; navigate: (url: string) => void; updateShouldFetchAsset: (shouldFetchAsset: boolean) => void; location: Location; setSelectedFolder: (folderUid: string) => void; } export interface AssetLoaderProps { fetch: () => void; shouldLoad: boolean; requesting?: boolean; } export type SetSortByData = (sortData: { id: string; sortingDirection: string; } | ((prev: { id: string; sortingDirection: string; }) => { id: string; sortingDirection: string; })) => void; interface DropdownOption { label: React.ReactNode; action: () => void; default?: boolean; } export interface CustomDropdownOption { label: string | React.ReactNode; value: string | React.ReactNode; icon?: string; activeIcon?: string; className?: string; list?: DropdownOption[]; key?: string; action?: () => void; default?: boolean; disable?: boolean; testId?: string; toBeActive?: boolean; } export type Dimension = { height?: number; width?: number; }; export type GenericType = { [key: string]: any; }; export interface AssetTypeInfo { uid: string; title: string; preview_image_url?: string; } export type AssetData = { parent_uid: string | null; uid: string; created_by: string; updated_by: string; created_at: string; updated_at: string; content_type: string; file_size?: number; file_name?: string; dimension?: Dimension; dimensions?: Dimension; assetId?: string; _version?: number; is_dir: boolean; tags: string[]; title?: string; lower_name?: string; url?: string; description?: string | null; name?: string; type?: string; path?: Array<{ uid: string; title: string; }>; space_uid?: string; locale?: string; asset_type?: AssetTypeInfo; invalid_asset?: boolean; errorMessage?: string; [key: string]: unknown; }; export type ModalSearchParams = { PAGE: string; ROWS_PER_PAGE: string; SEARCH: string; SEARCH_TYPE: string; }; export type SearchTypes = { SUGGESTIONS: string; ALL: string; TITLE: string; URL: string; [key: string]: string; }; export interface SearchDropDownList { label: string | React.ReactNode; testId: string; value: string | React.ReactNode; disable?: boolean; default?: boolean; } export interface SpaceSearchOptions { searchType: string; searchText: string; } export type SpaceAssetsModalSearchProps = { searchFor: string; searchDropDownList: SearchDropDownList[]; searchTypes: SearchTypes; spaceAssetsSearchOptions: SpaceSearchOptions; setSpaceAssetsSearchOptions: (config: SpaceSearchOptions) => void; shouldDisabled: boolean; setIsSuggestions: (isSuggestions: boolean) => void; shouldClearSearchFilters: boolean; setShouldClearSearchFilters: (shouldClearSearchFilters: boolean) => void; setShowSelectedAssets: (showSelectedAssets: boolean) => void; isResponsive?: boolean; }; export interface StackSettings { version?: string; rte_version?: number; blockAuthQueryParams?: boolean; allowedCDNTokens?: string[]; branches?: boolean; localesOptimization?: boolean; webhook_enabled?: boolean; live_preview?: Record; stack_variables?: Record; discrete_variables?: { cms?: boolean; _version?: number; secret_key?: string; }; am_v2?: { spaces?: string[]; }; language_fallback?: boolean; } export interface UserMetadata { idp_user?: boolean; } export interface UserPreferences { global?: unknown[]; stack?: unknown[]; } export interface UserSettings { preferences?: UserPreferences; } export interface StackCollaborator { uid: string; email: string; username?: string; first_name?: string; last_name?: string; active?: boolean; is_owner?: boolean; accepted?: boolean; invited_at?: string; invited_by?: string; created_at?: string; updated_at?: string; tfa_status?: string; metadata?: UserMetadata; settings?: UserSettings; } export interface SubAcl { create?: boolean; read?: boolean; update?: boolean; delete?: boolean; publish?: boolean; } export interface RoleAcl { uid: string; name?: string; invite?: boolean; read?: boolean; update?: boolean; delete?: boolean; sub_acl?: SubAcl; } export interface OthersAcl { invite?: boolean; read?: boolean; create?: boolean; update?: boolean; delete?: boolean; sub_acl?: SubAcl; } export interface SysAcl { roles?: RoleAcl[]; others?: OthersAcl; } export interface StackBranch { uid: string; source: string; api_key: string; alias?: string[]; } export interface StackUsage { content_types?: number; entries?: number; assets?: number; environments?: number; locales?: number; roles?: number; webhooks?: number; extensions?: number; saved_searches?: number; global_fields?: number; branches?: number; branch_aliases?: number; taxonomies?: number; taxonomy_data?: Record; terms?: number; } export interface StackData { uid: string; name: string; api_key: string; org_uid: string; master_locale: string; owner_uid?: string; is_asset_download_public?: boolean; user_uids?: string[]; settings?: StackSettings; master_key?: string; collaborators?: StackCollaborator[]; branches?: StackBranch[]; created_at?: string; updated_at?: string; SYS_ACL?: SysAcl; stack_variables?: Record; discrete_variables?: { cms?: boolean; _version?: number; secret_key?: string; }; global_search?: boolean; usage?: StackUsage; } export interface StackSecurityRole { uid: string; name: string; description?: string; api_key?: string; created_by?: string; updated_by?: string; created_at?: string; updated_at?: string; roles?: string[]; users?: string[]; owner?: string; stack?: StackData; SYS_ACL?: SysAcl; } export interface OrgRole { uid: string; name: string; description?: string; org_uid?: string; owner_uid?: string; admin?: boolean; default?: boolean; permissions?: string[]; domain?: string; } export interface Organization { uid: string; name: string; plan_id: string; expires_on?: string; enabled?: boolean; is_over_usage_allowed?: boolean; created_at?: string; updated_at?: string; tags?: string[]; org_roles?: OrgRole[]; } export interface StackSecurityUser { uid: string; email: string; username?: string; first_name?: string; last_name?: string; active?: boolean; is_owner?: boolean; accepted?: boolean; invited_at?: string; invited_by?: string; created_at?: string; updated_at?: string; tfa_status?: string; metadata?: UserMetadata; settings?: UserSettings; } export interface EnvironmentUrl { url: string; locale: string; } export interface Environment { uid: string; name: string; color?: string; urls?: EnvironmentUrl[]; created_by?: string; updated_by?: string; created_at?: string; updated_at?: string; ACL?: unknown[]; _version?: number; } export interface Locale { code: string; name: string; uid: string; fallback_locale: string | null; created_by?: string; updated_by?: string; created_at?: string; updated_at?: string; ACL?: unknown[]; _version?: number; } export interface ContentTypeField { data_type: string; display_name: string; uid: string; field_metadata?: Record; mandatory?: boolean; multiple?: boolean; non_localizable?: boolean; unique?: boolean; format?: string; error_messages?: Record; schema?: ContentTypeField[]; blocks?: Array<{ title: string; uid: string; schema: ContentTypeField[]; }>; reference_to?: string[]; extensions?: string[]; } export interface ContentTypeOptions { is_page?: boolean; singleton?: boolean; sub_title?: string[]; title?: string; url_pattern?: boolean | string; url_prefix?: string; } export interface ContentTypeAbilities { get_one_object?: boolean; get_all_objects?: boolean; create_object?: boolean; update_object?: boolean; delete_object?: boolean; delete_all_objects?: boolean; } export interface ContentType { uid: string; title: string; description?: string; schema: ContentTypeField[]; options?: ContentTypeOptions; abilities?: ContentTypeAbilities; created_at?: string; updated_at?: string; _version?: number; inbuilt_class?: boolean; last_activity?: Record; maintain_revisions?: boolean; DEFAULT_ACL?: { others?: OthersAcl; users?: Array<{ uid: string; read?: boolean; sub_acl?: SubAcl; }>; management_token?: { read?: boolean; }; }; SYS_ACL?: SysAcl; extension_uids?: string[]; } export interface StackSecurity { uid: string; email: string; username?: string; first_name?: string; last_name?: string; active?: boolean; tfa_status?: string; authy_id?: string | null; failed_attempts?: number; last_login_at?: string; password_updated_at?: string; password_reset_required?: boolean; authtoken?: string; created_at?: string; updated_at?: string; org_uid?: string[]; shared_org_uid?: string[]; mobile_number?: string; country_code?: string; metadata?: UserMetadata; settings?: UserSettings; roles?: StackSecurityRole[]; organizations?: Organization[]; defaultOrganization?: string; is_owner?: boolean; isDeveloper?: boolean; inviteUser?: boolean; createContentType?: boolean; currentUserIsOwner?: boolean; isContentManager?: boolean; } export interface StackSecurityData { requesting?: boolean; success?: boolean; error?: Record; stackSecurity?: StackSecurity; users?: StackSecurityUser[]; environments?: Environment[]; locales?: Locale[]; forms?: ContentType[]; roles?: StackSecurityRole[]; pageloading?: boolean; } export interface LocaleWithFallback { code: string; name: string; uid: string; fallback_locale: string | null; isCurrentLocale?: boolean; created_by?: string; updated_by?: string; created_at?: string; updated_at?: string; ACL?: any[]; _version?: number; } export interface FieldMetadata { image?: boolean; [key: string]: unknown; } export interface FieldConfig { multiple: boolean; max_instance?: number; value?: Array<{ file: AssetData; }> | AssetData | null; min_instance?: number; display_name?: string; $uid?: string; mandatory?: boolean; non_localizable?: boolean; updateRestrict?: boolean; has_rule?: boolean; isVariantField?: boolean; $formPath?: string; file_types?: string; min?: number; max?: number; dimension?: { width?: { min?: number; max?: number; }; height?: { min?: number; max?: number; }; }; extensions?: string[]; field_metadata?: FieldMetadata; } export interface AssetValidationFilter { extensions?: string[]; minSize?: number; maxSize?: number; dimension?: { width?: { min?: number; max?: number; }; height?: { min?: number; max?: number; }; }; imagesOnly?: boolean; } export interface Params { api_key: string; locale?: string; form_uid?: string; folder?: string; apiVersion?: number; } export interface EntryData { title?: string; variantName?: string; [key: string]: unknown; } export type TranslationFunction = (key: string, options?: Record) => string; export type IsVariantPlanEnabledFn = () => boolean; export type GetCurrentBranchFn = () => string; export type FetchBranchFn = (headers: { api_key: string; }, params: { uid: string; include_settings?: boolean; }, options?: Record) => Promise<{ branch: { uid?: string; source?: string; settings?: { am_v2?: { linked_workspaces?: Array<{ uid: string; space_uid: string; }>; }; }; }; }>; export interface RangeQuery { $gte?: number | string; $lte?: number | string; } export interface SpaceAssetsQuery { $and?: Array<{ space_uid?: { $in: string[]; }; asset_type_uid?: { $in: string[]; }; created_by?: { $in: string[]; }; created_at?: { $range: RangeQuery; }; locale?: { $in: string[]; }; parent_uid?: { $eq: string; }; 'dimensions.width'?: { $range: RangeQuery; }; 'dimensions.height'?: { $range: RangeQuery; }; file_size?: { $range: RangeQuery; }; $or?: Array<{ locale?: { $in: string[]; }; }>; }>; } export interface FetchSpaceAssetsOptions { data?: { query?: SpaceAssetsQuery; sort?: Record; skip?: number; limit?: number; asc?: string; desc?: string; search_text?: string; }; } export type FetchSpaceAssetsFn = (params: Record, headers: Record, options?: FetchSpaceAssetsOptions) => Promise<{ count: number; relation: string; results: AssetData[]; }>; export interface Space { uid: string; title: string; description?: string; created_at?: string; updated_at?: string; created_by?: string; updated_by?: string; } export type FetchSearchSpacesFn = (data?: Record, headers?: Record, params?: Record) => Promise<{ count: number; results: Space[]; }>; export interface AssetTypeOptions { is_page?: boolean; publishable?: boolean; singleton?: boolean; } export interface AssetType { uid: string; title: string; preview_image_url?: string; category?: string; category_detail?: string; content_type?: string; file_extension?: string; description?: string; fields?: string[]; is_system?: boolean; options?: AssetTypeOptions; sub_title?: string[]; url_pattern?: string; url_prefix?: string; created_at?: string; updated_at?: string; created_by?: string; updated_by?: string; } export type FetchAssetTypesFn = (params?: Record, headers?: Record, options?: Record) => Promise<{ count: number; asset_types: AssetType[]; }>; export type FieldDisplayType = 'TEXT' | 'NUMBER' | 'MULTITEXT' | 'BOOLEAN' | 'URL' | 'ALL' | string; export interface AMv2Field { uid: string; title: string; display_type: FieldDisplayType; data_type?: string; field_type?: string; mandatory?: boolean; multiple?: boolean; } export interface FetchFieldsAMv2Query { display_type?: FieldDisplayType; search_text?: string; skip?: number; limit?: number; } export type FetchFieldsAMv2Fn = (query?: FetchFieldsAMv2Query, params?: Record, headers?: Record, options?: Record) => Promise<{ count: number; fields: AMv2Field[]; relation: string; }>; export type InvitationStatus = 'ACCEPTED' | 'PENDING' | 'REJECTED'; export interface SpaceUser { userUid: string; email: string; firstName: string; lastName: string; username?: string; invitationStatus?: InvitationStatus; invitedBy?: string; roleUidsList?: string[]; } export type SpaceUsersMap = Record; export type FetchSpaceUsersFn = (data?: Record, params?: Record, headers?: Record, options?: Record) => Promise; export interface CloseModalData { selectedAssets?: Array<{ file: AssetData; }>; embedOptions?: { isInline?: boolean; }; linkSettings?: LinkSettings; } export type CloseModalFn = (selectedAssets?: Array<{ file: AssetData; }>, embedOptions?: { isInline?: boolean; linkSettings?: LinkSettings; }) => void; export type StackAssetsSwitchFn = (e: React.MouseEvent) => void; export type SetUploadAssetFlagFn = (flag: boolean) => void; export type SetIsInlineFn = (isInline: boolean) => void; export interface LinkSettings { displayText: string; title: string; openInNewTab: boolean; } export type SetLinkSettingsFn = (settings: LinkSettings) => void; export interface AMV2AssetPickerArgs { stackData: StackData; field: FieldConfig; params: Params; localesWithFallback: LocaleWithFallback[]; entryData: EntryData; linkedSpaces: string[]; isVariantPlanEnabled: IsVariantPlanEnabledFn; getCurrentBranch: GetCurrentBranchFn; fetchBranch: FetchBranchFn; fetchSpaceAssets: FetchSpaceAssetsFn; fetchSearchSpaces: FetchSearchSpacesFn; fetchAssetTypes: FetchAssetTypesFn; fetchFieldsAMv2: FetchFieldsAMv2Fn; fetchSpaceUsers: FetchSpaceUsersFn; t?: TranslationFunction; stackSecurityData?: StackSecurityData; closeModal?: CloseModalFn; setUploadAssetFlag?: SetUploadAssetFlagFn; stackAssetsSwitch?: StackAssetsSwitchFn; assetSearchPopup?: boolean; hideStackAssetsSwitch?: boolean; isJsonRTE?: boolean; isInline?: boolean; setIsInline?: SetIsInlineFn; embedAsLink?: boolean; linkSettings?: LinkSettings; setLinkSettings?: SetLinkSettingsFn; } export type CbModalProps = { closeFullscreen?: () => void; closeModal?: (data?: any) => void; fullscreenView?: boolean; isFullScreen?: boolean; onFullscreenModal?: () => void; }; export {};