import { Result, Checksum, Key, Theme, ThemeAsset } from './types.js'; import { MetafieldOwnerType } from '../../../cli/api/graphql/admin/generated/types.js'; import { AdminSession } from '../session.js'; export type ThemeParams = Partial>; export type AssetParams = Pick & Partial>; export declare function fetchTheme(id: number, session: AdminSession): Promise; export declare function fetchThemes(session: AdminSession): Promise; export declare function findDevelopmentThemeByName(name: string, session: AdminSession): Promise; export declare function themeCreate(params: ThemeParams, session: AdminSession): Promise; export declare function fetchThemeAssets(id: number, filenames: Key[], session: AdminSession): Promise; export declare function deleteThemeAssets(id: number, filenames: Key[], session: AdminSession): Promise; export declare function bulkUploadThemeAssets(id: number, assets: AssetParams[], session: AdminSession): Promise; export declare function fetchChecksums(id: number, session: AdminSession): Promise; export declare function themeUpdate(id: number, params: ThemeParams, session: AdminSession): Promise; export declare function themePublish(id: number, session: AdminSession): Promise; export declare function themeDelete(id: number, session: AdminSession): Promise; export interface ThemeDuplicateResult { theme?: Theme; userErrors: { field?: string[] | null; message: string; }[]; requestId?: string; } export declare function themeDuplicate(id: number, name: string | undefined, session: AdminSession): Promise; export declare function metafieldDefinitionsByOwnerType(type: MetafieldOwnerType, session: AdminSession): Promise<{ key: string; namespace: string; name: string; description: string | null | undefined; type: { name: string; category: string; }; }[]>; export declare function passwordProtected(session: AdminSession): Promise; type OnlineStoreThemeFileBody = { __typename: 'OnlineStoreThemeFileBodyBase64'; contentBase64: string; } | { __typename: 'OnlineStoreThemeFileBodyText'; content: string; } | { __typename: 'OnlineStoreThemeFileBodyUrl'; url: string; }; export declare function parseThemeFileContent(body: OnlineStoreThemeFileBody): Promise<{ value?: string; attachment?: string; }>; export {};