import { AuthManager } from '../auth/AuthManager'; import { Profile, ProfileListResponse, ProfileCreateRequest, ProfileUpdateRequest, ProfileDeleteRequest, ProfilePayloadsResponse, PayloadDetailsResponse, PayloadConfig, PayloadName } from './types'; export declare class ProfilesAPI { private readonly baseUrl; private readonly authManager; private readonly accountsServer; constructor(baseUrl: string, authManager: AuthManager, accountsServer: string); private getHeaders; /** * Get a list of all profiles */ listProfiles(): Promise; /** * Create a new profile */ createProfile(profile: ProfileCreateRequest): Promise; /** * Delete or trash profiles. First call moves to trash, second call deletes permanently. */ deleteProfiles(request: ProfileDeleteRequest): Promise; /** * Get details of a specific profile */ getProfile(profileId: string): Promise; /** * Update a profile's details */ updateProfile(profileId: string, profile: ProfileUpdateRequest): Promise; /** * Get list of payloads in a profile */ getProfilePayloads(profileId: string): Promise; /** * Get payload details for a specific payload type */ getPayloadDetails(profileId: string, payloadName: string): Promise; /** * Add a new payload to a profile */ addPayload(profileId: string, payloadName: T, config: PayloadConfig[T]): Promise; /** * Remove a payload type from a profile */ removePayload(profileId: string, payloadName: string): Promise; /** * Get details of a specific payload item */ getPayloadItem(profileId: string, payloadName: T, payloadId: string): Promise; /** * Update a payload item */ updatePayloadItem(profileId: string, payloadName: T, payloadId: string, config: PayloadConfig[T]): Promise; /** * Remove a payload item */ removePayloadItem(profileId: string, payloadName: string, payloadId: string): Promise; /** * Publish a profile */ publishProfile(profileId: string): Promise; /** * Update a profile to all devices and groups */ updateProfileToAll(profileId: string): Promise; }