import type { CustomObject } from "./custom-object.js"; import { type ExistingManifestContextOptions } from "./existing-manifest-context.js"; import type { ManifestComponentDeletion } from "./manifest-builder.js"; import type { ManifestFunction } from "./manifest-function.js"; export type CustomObjectActionVisibilityPreference = 'LIST_VIEW' | 'DETAIL_VIEW'; export interface CustomObjectActionDeletionIdentifier { actionId: string; objectRqlName: string; } export interface CustomObjectActionProps { /** Stable identifier for this action. Auto-generated when omitted. */ actionId?: string; /** Display name shown in the list or detail view. */ name: string; /** Function invoked by the action. */ function: ManifestFunction; /** Views where the action is shown. */ visibilityPreferences: CustomObjectActionVisibilityPreference[]; } export interface CustomObjectActionLoadFromExistingOptions extends ExistingManifestContextOptions { customObjectApiName?: string; } /** Defines an action shown on a custom object's list or detail view. */ export declare class CustomObjectAction { static readonly componentType: "CUSTOM_OBJECT_ACTION"; static toDeletionIdentifier(identifier: CustomObjectActionDeletionIdentifier): ManifestComponentDeletion; private readonly _actionId; private readonly _objectRqlName; private _name; private _functionApiName; private _visibilityPreferences; constructor(customObject: CustomObject, props: CustomObjectActionProps); static loadFromExisting(actionId: string, options?: CustomObjectActionLoadFromExistingOptions): CustomObjectAction; /** @internal Hydrates an action from existing manifest wire JSON. */ static _fromExistingComponent(customObject: CustomObject, component: Record, resolveFunction: (apiName: string) => ManifestFunction): CustomObjectAction; getActionId(): string; /** Replaces the action's display name. */ setName(name: string): this; /** Replaces the function invoked by this action. */ setFunction(fn: ManifestFunction): this; /** Replaces the views where this action is shown. */ setVisibilityPreferences(preferences: CustomObjectActionVisibilityPreference[]): this; toDict(): Record; } //# sourceMappingURL=custom-object-action.d.ts.map