import { FileTypeEnum, File, CanvasRetrieve } from '../../../../types/openapi'; import { CanvasTheme, ComponentNode, MultimediaProps } from '../types/canvas.ts'; import { CanvasThemeRetrieve, CanvasTypographyPreset, CanvasTypographyPresetId, CanvasThemeAsset } from '../../../types/canvasTheme'; import { BackgroundAttachment, BackgroundPositionX, BackgroundPositionY, BackgroundRepeat, BackgroundSize } from '../../../types/background'; export declare enum ThemeComponentOptionEnum { COLOR_PICKER = 0, PADDING = 1, SPACING = 2, HEIGHT = 3, BORDER_RADIUS = 4 } export interface ThemePadding { top: number; right: number; bottom: number; left: number; } export interface ThemeBorderRadius { topLeft: number; topRight: number; bottomLeft: number; bottomRight: number; } export interface ThemeOptions { backgroundColor?: string; backgroundAttachment?: BackgroundAttachment; backgroundImage?: string; backgroundPositionX?: BackgroundPositionX; backgroundPositionY?: BackgroundPositionY; backgroundRepeat?: BackgroundRepeat; backgroundSize?: BackgroundSize; height?: string | null; padding?: ThemePadding; spacing?: number | null; borderRadius?: ThemeBorderRadius; } export interface ThemeUpdateEvents { onBackgroundChange: (property: string, value: any) => void; onHeightChange: (height?: string | null) => void; onPaddingChange: (padding: ThemePadding) => void; onMarginBottomChange: (value: number | null) => void; onResetSpacing: () => void; onBorderRadiusChange: (borderRadius: ThemeBorderRadius) => void; } export declare const DEFAULT_TYPOGRAPHY_STYLE: Omit; declare function cleanup(): void; declare function getDefaultTypographyConfiguration(): { [k: string]: { id: CanvasTypographyPresetId; font_family: string; font_size: string; font_weight: "400" | "700"; color: string; line_height: string; letter_spacing: string; text_transform: "none" | "capitalize" | "lowercase" | "uppercase"; }; }; declare function loadCustomFonts(listFiles: (params: any) => Promise): Promise; declare function setFontAndFetchAsset(fontName?: string, url?: string): Promise; declare function applyTheme(theme: CanvasThemeRetrieve | null, legacyCanvasTheme?: Partial): void; declare function initializeTheme(): void; declare function handleComponentThemeUpdate(updates: ThemeOptions, currentTheme: ThemeOptions, events: ThemeUpdateEvents): void; declare function updateThemeProperties(theme: Partial): void; declare function setBackgroundImageProperties(style?: Partial): void; declare function updateTextCSSVariables(typography: Record): void; declare function loadSectionThemes(sections: CanvasRetrieve['sections'], specificSection?: CanvasRetrieve['sections'][number]): void; declare function loadSectionThemesAssets(sections: CanvasRetrieve['sections'], updateMultimediaNodeFn?: (nodeId: string, props: MultimediaProps, directNodeUpdate?: { node: ComponentNode; section: CanvasRetrieve['sections'][number]; }) => boolean, specificSection?: CanvasRetrieve['sections'][number]): number; declare function clearSectionThemes(sections?: CanvasRetrieve['sections'], sectionId?: CanvasRetrieve['sections'][number]): void; declare function removeCssUrlFunc(url: string): string; export default function useCanvasTheme(): { activeTheme: import('vue').Ref<{ id: string; instance_id: string; status: import('../../../types/canvasTheme').CanvasThemeStatus; is_default: boolean; name: string; created_at: string; modified_at: string; owned_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; created_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; modified_by?: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; } | undefined; logo?: { id: string; name: string; url: string; } | undefined; assets?: { id: string; name: string; url: string; }[] | undefined; settings: { component_spacing: number; background_color: string; palette: string[]; assets?: { id: string; name: string; url: string; }[] | undefined; }; typography: Record; used_in_canvases_count?: number | undefined; } | null, CanvasThemeRetrieve | { id: string; instance_id: string; status: import('../../../types/canvasTheme').CanvasThemeStatus; is_default: boolean; name: string; created_at: string; modified_at: string; owned_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; created_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; modified_by?: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; } | undefined; logo?: { id: string; name: string; url: string; } | undefined; assets?: { id: string; name: string; url: string; }[] | undefined; settings: { component_spacing: number; background_color: string; palette: string[]; assets?: { id: string; name: string; url: string; }[] | undefined; }; typography: Record; used_in_canvases_count?: number | undefined; } | null>; applyTheme: typeof applyTheme; canvasBgColor: import('vue').Ref; clearSectionThemes: typeof clearSectionThemes; customFonts: import('vue').Ref<{ readonly id: string; readonly global_id: string; name?: string | undefined; readonly type: FileTypeEnum; readonly size: number | null; readonly status: import('../../../../types/openapi').FileStatusEnum; readonly content_type: import('../../../../types/openapi').FileContentTypeEnum; readonly content_extension: string | null; readonly content_length: number | null; readonly content_url: string | null; readonly original_extension: string | null; readonly original_url: string | null; readonly thumbnail_url: string | null; download_type?: import('../../../../types/openapi').DownloadTypeEnum | undefined; readonly zip_size: number | null; readonly zip_url: string | null; access_type?: import('../../../../types/openapi').AccessTypeEnum | undefined; readonly role: import('../../../../types/openapi').CollaborationRoleEnum; permissions?: { can_download?: boolean | undefined; can_share?: boolean | undefined; } | undefined; metadata?: Record | undefined; app_metadata?: Record | undefined; tags?: Array | undefined; readonly published_at: string | null; expires_at?: string | null | undefined; readonly instance_id: string; folder_id?: string | undefined; readonly folder: { readonly id: string; name: string; }; readonly shared_link: { readonly url: string; short_url?: string | null | undefined; }; readonly owned_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly created_at: string; readonly created_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly modified_at: string; readonly modified_by: { readonly id: number; readonly name: string; email?: string | undefined; }; }[], File[] | { readonly id: string; readonly global_id: string; name?: string | undefined; readonly type: FileTypeEnum; readonly size: number | null; readonly status: import('../../../../types/openapi').FileStatusEnum; readonly content_type: import('../../../../types/openapi').FileContentTypeEnum; readonly content_extension: string | null; readonly content_length: number | null; readonly content_url: string | null; readonly original_extension: string | null; readonly original_url: string | null; readonly thumbnail_url: string | null; download_type?: import('../../../../types/openapi').DownloadTypeEnum | undefined; readonly zip_size: number | null; readonly zip_url: string | null; access_type?: import('../../../../types/openapi').AccessTypeEnum | undefined; readonly role: import('../../../../types/openapi').CollaborationRoleEnum; permissions?: { can_download?: boolean | undefined; can_share?: boolean | undefined; } | undefined; metadata?: Record | undefined; app_metadata?: Record | undefined; tags?: Array | undefined; readonly published_at: string | null; expires_at?: string | null | undefined; readonly instance_id: string; folder_id?: string | undefined; readonly folder: { readonly id: string; name: string; }; readonly shared_link: { readonly url: string; short_url?: string | null | undefined; }; readonly owned_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly created_at: string; readonly created_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly modified_at: string; readonly modified_by: { readonly id: number; readonly name: string; email?: string | undefined; }; }[]>; font: import('vue').Ref; globalComponentSpacing: import('vue').Ref; inheritThemeFromParent: import('vue').Ref; isEditingCanvasTheme: import('vue').Ref; isFluid: import('vue').Ref; aspectRatio: import('vue').Ref<"contain" | "unlocked" | "16:9" | "16:10" | "4:3" | "1:1", "contain" | "unlocked" | "16:9" | "16:10" | "4:3" | "1:1">; maintainSectionTheme: import('vue').Ref; palette: import('vue').Ref; logo: import('vue').Ref<{ id: string; name: string; url: string; } | null, CanvasThemeAsset | { id: string; name: string; url: string; } | null>; assets: import('vue').Ref<{ id: string; name: string; url: string; }[], CanvasThemeAsset[] | { id: string; name: string; url: string; }[]>; typography: import('vue').Ref, Record>; backgroundAttachment: import('vue').Ref; backgroundImage: import('vue').Ref; backgroundVideoUrl: import('vue').Ref; backgroundPositionX: import('vue').Ref; backgroundPositionY: import('vue').Ref; backgroundSize: import('vue').Ref; backgroundRepeat: import('vue').Ref; pdfDimensionsPreset: import('vue').Ref; pdfDimensionsWidth: import('vue').Ref; pdfDimensionsHeight: import('vue').Ref; isLoading: import('vue').Ref; initializeTheme: typeof initializeTheme; getDefaultTypographyConfiguration: typeof getDefaultTypographyConfiguration; loadCustomFonts: typeof loadCustomFonts; setFontAndFetchAsset: typeof setFontAndFetchAsset; themes: import('vue').Ref<{ id: string; instance_id: string; status: import('../../../types/canvasTheme').CanvasThemeStatus; is_default: boolean; name: string; created_at: string; modified_at: string; owned_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; created_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; modified_by?: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; } | undefined; logo?: { id: string; name: string; url: string; } | undefined; assets?: { id: string; name: string; url: string; }[] | undefined; settings: { component_spacing: number; background_color: string; palette: string[]; assets?: { id: string; name: string; url: string; }[] | undefined; }; typography: Record; used_in_canvases_count?: number | undefined; }[], CanvasThemeRetrieve[] | { id: string; instance_id: string; status: import('../../../types/canvasTheme').CanvasThemeStatus; is_default: boolean; name: string; created_at: string; modified_at: string; owned_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; created_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; modified_by?: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; } | undefined; logo?: { id: string; name: string; url: string; } | undefined; assets?: { id: string; name: string; url: string; }[] | undefined; settings: { component_spacing: number; background_color: string; palette: string[]; assets?: { id: string; name: string; url: string; }[] | undefined; }; typography: Record; used_in_canvases_count?: number | undefined; }[]>; updateTextCSSVariables: typeof updateTextCSSVariables; updateThemeProperties: typeof updateThemeProperties; loadSectionThemes: typeof loadSectionThemes; loadSectionThemesAssets: typeof loadSectionThemesAssets; removeCssUrlFunc: typeof removeCssUrlFunc; cleanup: typeof cleanup; handleComponentThemeUpdate: typeof handleComponentThemeUpdate; originalTheme: import('vue').Ref<{ id: string; instance_id: string; status: import('../../../types/canvasTheme').CanvasThemeStatus; is_default: boolean; name: string; created_at: string; modified_at: string; owned_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; created_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; modified_by?: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; } | undefined; logo?: { id: string; name: string; url: string; } | undefined; assets?: { id: string; name: string; url: string; }[] | undefined; settings: { component_spacing: number; background_color: string; palette: string[]; assets?: { id: string; name: string; url: string; }[] | undefined; }; typography: Record; used_in_canvases_count?: number | undefined; } | null, CanvasThemeRetrieve | { id: string; instance_id: string; status: import('../../../types/canvasTheme').CanvasThemeStatus; is_default: boolean; name: string; created_at: string; modified_at: string; owned_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; created_by: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; }; modified_by?: { readonly id: number; readonly name: string; first_name?: string | undefined; last_name?: string | undefined; readonly email: string; role?: import('../../../../types/openapi').UserRoleEnum | undefined; readonly last_login_date: string | null; readonly joined_date: string; readonly deactivated_at: string | null; readonly activated_at: string | null; readonly is_active: boolean; language?: import('../../../../types/openapi').LanguageEnum | undefined; readonly connected_services: { connection_id: string; type: string; name: string; provider: string; access_token?: string | undefined; user_id?: string | undefined; urls?: Record | undefined; }[]; preferred_username?: string | undefined; readonly picture: string | null; timezone?: string | undefined; tags?: (Array | null) | undefined; readonly connection?: string | null | undefined; } | undefined; logo?: { id: string; name: string; url: string; } | undefined; assets?: { id: string; name: string; url: string; }[] | undefined; settings: { component_spacing: number; background_color: string; palette: string[]; assets?: { id: string; name: string; url: string; }[] | undefined; }; typography: Record; used_in_canvases_count?: number | undefined; } | null>; setBackgroundImageProperties: typeof setBackgroundImageProperties; }; export {};