@oxyhq/services
Version:
Reusable OxyHQ module to handle authentication, user management, karma system, device-based session management and more 🚀
40 lines • 1.64 kB
TypeScript
import React from 'react';
import type { BaseScreenProps } from '../navigation/types';
import type { FileMetadata } from '../../models/interfaces';
export type OnConfirmFileSelection = (files: FileMetadata[]) => void;
export interface FileManagementScreenProps extends BaseScreenProps {
userId?: string;
selectMode?: boolean;
multiSelect?: boolean;
onSelect?: (file: FileMetadata) => void;
onConfirmSelection?: OnConfirmFileSelection;
initialSelectedIds?: string[];
maxSelection?: number;
disabledMimeTypes?: string[];
/**
* What to do after a single selection (non-multiSelect) is made.
* 'close' (default) will dismiss the bottom sheet via onClose.
* 'back' will navigate back to the previous screen (e.g., return to AccountSettings without closing sheet).
* 'none' will keep the picker open (caller can manually close or navigate).
*/
afterSelect?: 'close' | 'back' | 'none';
allowUploadInSelectMode?: boolean;
/**
* Default visibility for uploaded files in this screen
* Useful for third-party apps that want files to be public (e.g., GIF selector)
*/
defaultVisibility?: 'private' | 'public' | 'unlisted';
/**
* Link context for tracking file usage by third-party apps
* When provided, selected files will be linked to this entity
*/
linkContext?: {
app: string;
entityType: string;
entityId: string;
webhookUrl?: string;
};
}
declare const FileManagementScreen: React.FC<FileManagementScreenProps>;
export default FileManagementScreen;
//# sourceMappingURL=FileManagementScreen.d.ts.map