// The published type surface of puter.js. // // This is the only hand-written declaration file in the package: it names what // the SDK exports and nothing more. Every type it re-exports is generated from // the JSDoc in `src/` by `npm run build:types` — edit the JSDoc, not `types/`. import type { Puter } from './types/index.js'; export type { Puter }; export { puter, default } from './types/index.js'; declare global { interface Window { puter: Puter; } } // -- Shared -- export type { APILoggingConfig, ListPage, ListPaginationOptions, ListStreamOptions, PaginatedResult, PaginationOptions, PuterEnvironment, RequestCallbacks, ToolSchema, UpgradeReason, UpgradeRequestDetails, } from './types/lib/types.js'; export type { default as APICallLogger } from './types/lib/APICallLogger.js'; // -- puter.ai -- export type { AIMessageContent, ChatMessage, ChatOptions, ChatResponse, ChatResponseChunk, ChatResponseStream, ImageContent, Img2TxtOptions, ListTTSEnginesOptions, ListTTSVoicesOptions, OcrAnnotationFormat, ConvoOptions, ConvoTextEvent, ConvoAudioEvent, ConvoTranscriptEvent, ConvoInterruptedEvent, ConvoTurnDoneEvent, ConvoErrorEvent, ConvoEventMap, ConvoSessionOptions, ConvoPlaybackPosition, ConvoSpeakerOptions, RealtimeServerEvent, RealtimeClientEvent, Speech2SpeechOptions, Speech2TxtOptions, Speech2TxtResult, Speech2TxtWord, StreamingChatOptions, TextFormatSpeech2TxtOptions, Tool, ToolCall, TTSEngine, TTSVoice, Txt2ImgOptions, Txt2SpeechOptions, Txt2VidOptions, } from './types/modules/ai/types.js'; export type { Txt2Speech } from './types/modules/ai/index.js'; // -- puter.apps -- export type { App, AppListOptions, AppUser, CheckAppNameResult, CreateAppOptions, CreateAppResult, GetUsersOptions, UpdateAppAttributes, } from './types/modules/apps/types.js'; // -- puter.auth -- export type { AllowanceInfo, APIUsage, AppUsage, DetailedAppUsage, MonthlyUsage, SignInResult, User, UserProfile, UserProfilePatch, } from './types/modules/Auth.js'; // -- puter.debug -- export type { Debug } from './types/modules/Debug.js'; // -- puter.drivers -- export type { Driver } from './types/modules/Drivers.js'; // -- puter.email -- export type { EmailAttachment, EmailSendOptions, EmailSendResult, } from './types/modules/Email/Email.js'; export type { EmailAddress, EmailFolder, EmailGetOptions, EmailHeader, EmailListOptions, EmailListStreamOptions, EmailMessage, EmailMessageAttachment, EmailSummary, } from './types/modules/Email/types.js'; // -- puter.events -- export type { DestroyedEventsWorker, EventAnchor, EventDelivery, EventFetchOptions, EventFetchPage, EventGapMarker, EventHandler, EventsWorkerPage, EventsWorkerSummary, EventsWorkersListOptions, HandlerOptions, HandlerPublication, HandlerSummary, OnLocalOptions, OnPersistentOptions, OnScheduleOptions, PersistentSubscription, PublishedHandler, PuterEvent, PuterKvEvent, PuterNotifEvent, PuterNotifDismissEvent, PuterScheduleEvent, Schedule, ScheduleDelivery, ScheduleErrorCode, ScheduleHandler, ScheduleListOptions, ScheduleChanges, HandlerScheduleChanges, DeferredScheduleChanges, UpdatePersistentOptions, } from './types/modules/events/types.js'; export type { EventSubscription } from './types/modules/events/lib/subscription.js'; export type { EventHandlers } from './types/modules/events/lib/handlers.js'; export type { EventsWorkers } from './types/modules/events/lib/workers.js'; // -- puter.fs -- export type { CopyOptions, DeleteOptions, FSItemRead, FSItemWithShares, GetShareLinkOptions, GetSharesOptions, ListSharedByMeOptions, ListSharedOptions, MkdirOptions, MoveOptions, ReadOptions, ReaddirOptions, RenameOptions, Share, ShareMode, ShareOptions, SharePage, ShareRecipient, SignResult, SpaceInfo, StatOptions, UnshareOptions, UploadBatchError, UploadItems, UploadOperationResult, UploadOptions, ThumbnailGenerator, ThumbnailGeneratorContext, WriteOptions, } from './types/modules/FileSystem/types.js'; export type { FileSignatureInfo, FSItem, InternalFSProperties, } from './types/modules/FSItem.js'; // -- puter.hosting -- export type { CustomDomain, CustomDomainRecord, Subdomain, } from './types/modules/hosting/types.js'; // -- puter.kv -- export type { KVAddPath, KVIncrementPath, KVListOptions, KVListPage, KVListPaginationOptions, KVListStreamOptions, KVOptConfig, KVPair, KVScalar, KVSetBatch, KVSetItem, KVSetObject, KVShare, KVShareAccess, KVSharedByMe, KVSharedByMeListOptions, KVSharedWithMe, KVShareListOptions, KVShareManyFailed, KVShareManyItem, KVShareManyOptions, KVShareManyShared, KVShareOptions, KVShareRecipient, KVShareRevokedBy, KVShareState, KVUnshareResult, KVUpdateObject, KVUpdatePath, KVValue, } from './types/modules/kv/types.js'; // -- puter.net -- export type { Networking, SocketEvent } from './types/modules/networking/types.js'; export type { PSocket, PTLSSocket } from './types/modules/networking/PSocket.js'; // -- puter.notifications -- export type { AppNotification, DelayedNotificationOptions, NotificationAction, NotificationClick, NotificationDismissal, NotificationHandler, NotificationInput, NotificationListener, NotificationRecipient, NotificationSender, OnNotificationOptions, OnPushOptions, PushDevice, PushHandler, PushPlatform, PushShown, PushStatus, ScheduledNotification, ShareNotificationInput, } from './types/modules/notifications/types.js'; // -- puter.os -- // -- puter.peer -- export type { PuterPeerDescription, PuterPeerIceCandidate, PuterPeerMessage, PuterPeerOptions, PuterPeerUser, } from './types/modules/Peer/types.js'; export type { PuterPeerConnection } from './types/modules/Peer/PuterPeerConnection.js'; export type { PuterPeerServer } from './types/modules/Peer/PuterPeerServer.js'; export type { PuterPeerEncoding, PuterPeerPublishOptions, } from './types/modules/Peer/tracks.js'; export type { PuterPeerConnectionCloseEvent, PuterPeerConnectionErrorEvent, PuterPeerConnectionEventMap, PuterPeerConnectionMessageEvent, PuterPeerConnectionOpenEvent, PuterPeerLinkState, PuterPeerLinkStateEvent, PuterPeerMediaEndedEvent, PuterPeerMediaEvent, PuterPeerServerConnectionEvent, PuterPeerServerEventMap, PuterPeerServerReconnectEvent, } from './types/modules/Peer/events.js'; // -- puter.perms -- export type { AppDataClass, AppDataFsScope, AppDataKvScope, AppDataScopePair, AppDataScopes, AppDataStore, PermsAccess, PermsAccessRequest, PermsAppDataRequest, PermsAppRootDirRequest, PermsBatchEntry, PermsCreateKind, PermsFolderName, PermsFolderRequest, PermsFsRequest, PermsKvShareAccess, PermsKvShareRequest, PermsPermissionRequest, PermsRequestDetails, PermsResource, } from './types/modules/perms/types.js'; // -- puter.teams -- export type { CreateMemberOptions, CreateTeamOptions, Team, TeamAuditEntry, TeamMember, TemporaryCredential, UpdateTeamAttributes, } from './types/modules/teams/types.js'; // -- puter.ui -- export type { AppConnection } from './types/modules/UI.js'; export type { AlertButton, AlertOptions, AppConnectionCloseEvent, CancelAwarePromise, ColorPickerOptions, ConnectionEvent, ContextMenuItem, ContextMenuOptions, DirectoryPickerOptions, FilePickerOptions, FontPickerOptions, LaunchAppOptions, LaunchAppResult, MenuItem, MenubarOptions, NotificationOptions, PromptOptions, ThemeData, WindowHandle, WindowIdentifier, WindowOptions, } from './types/modules/UI.js'; // -- puter.util -- export type { default as Util, UtilRPC } from './types/modules/Util.js'; // -- puter.workers -- export type { WorkerDeployment, WorkerInfo, } from './types/modules/Workers.js'; // -- Module instance types -- // // Each `puter.` handle. Named here rather than re-exported, because the // generated modules export a constructor value plus its constructor type, and // what a consumer annotates with is the instance. export type AI = InstanceType; export type Apps = InstanceType; export type Auth = InstanceType; export type Drivers = InstanceType; export type Email = InstanceType; export type Events = InstanceType; export type FS = InstanceType; export type Hosting = InstanceType; export type KV = InstanceType; export type Notifications = InstanceType; export type OS = InstanceType; export type Peer = InstanceType; export type Perms = InstanceType; export type Teams = InstanceType; export type UI = InstanceType; export type WorkersHandler = InstanceType; export type { Conversation, ConvoError } from './types/modules/ai/convo.js'; export type { ConvoMicrophone, ConvoSpeaker } from './types/modules/ai/convoMedia.js';