import { BaseItem } from './_base.js'; import { BaseKismetConnection } from './link.js'; import { ProcessId } from '../managers/index.js'; import type { KismetConnectionType, KismetConnection, KismetConnections } from './link.js'; import type { BaseKismetItemOptions } from './options.js'; import type { Sequence, KismetPosition, KismetVariableValue, SequenceItemType, SequenceItemTypeName } from '../structures/index.js'; export interface BaseKismetItemRawData { ObjPosX: number; ObjPosY: number; ObjectArchetype: string; ObjInstanceVersion: number; } export interface KismetComment { comment?: string; supressAutoComment?: boolean; outputCommentToScreen?: boolean; } export declare class BaseSequenceItem extends BaseItem { commentOptions: KismetComment; connections: KismetConnections; sequence: string; readonly id: ProcessId; name: string; raw: [string, KismetVariableValue][]; rawData: BaseKismetItemRawData; private _connectionKeys; private _category; protected inputs: BaseKismetItemOptions['inputs']; constructor(options: BaseKismetItemOptions & { type?: SequenceItemTypeName; }); private get baseJSON(); get rawName(): string; get category(): string | undefined; get ClassData(): Record<"Class" | "ClassType" | "Package", string>; get linkId(): string; get position(): KismetPosition; /** * Break all object links to other items. * * Same as the editor right click > Break all links to Object(s) */ breakAllLinks(): void; /** * Hide all connection sockets that have no connections currently. * * Same as the editor right click > Hide unused connectors */ hideUnusedConnections(): void; /** * Show all connection sockets. * * Same as the editor right click > Show all connectors */ showAllConnections(): void; /** * Check whether another item is of the same type as this item * @param item */ equals(item: SequenceItemType): boolean; getConnection(type: KismetConnectionType, connectionName?: string): (BaseKismetConnection | KismetConnection) | null; /** * Set a comment on this item. This comment will be visible in the editor * @param comment The text of the comment or the text in combination with comment options */ setComment(comment: string | { comment?: string; supressAutoComment?: boolean; outputCommentToScreen?: boolean; }): this; /** * Set a new position for this item * @param position The new position coordinates * @param offset Whether to use the new position as an offset to the current position (default: false) */ setPosition(position: KismetPosition, offset?: boolean): this; /** * Set a variable if the variable has no variable connection. * Used for properties you can set in the properties screen in the editor. * @param properties The properties to set. Will not overwrite currently set properties */ setProperty(...properties: { name: string; value: KismetVariableValue; }[]): this; /** * Change the sequence of this item * @param sequence The new sequence of this item: the linkId or the sequence itself * @param addToSequence If 'sequence' is the new sequence, whether to add the item to the sequence */ setSequence(sequence: string | Sequence, addToSequence?: boolean): this; toJSON(): Record; toString(): string; /** * Converts a two dimensional array of properties to an object. * Then calls {@link BaseSequenceItem.fromJSON} with the object * @param input */ static fromRaw(input: [string, KismetVariableValue][]): BaseSequenceItem; /** * Converts an object to an item ands sets all other variables on the item. * Special object keys: * * @param input * @returns */ static fromJSON(input: Record): BaseSequenceItem; } //# sourceMappingURL=base.d.ts.map