import { BaseSequenceItem } from './item/index.js'; import { projectOptions, Sequence, SequencePositionOptions, SchemaItemNames, SequenceItemTypeof } from './structures/index.js'; import { ProcessId } from './managers/index.js'; type IStoreInputValue> = T extends SequenceItemTypeof ? T : never; export type IStoreValue = T | { [x: string]: T; }; export type IStore = SequenceItemTypeof> = Record>>; export type ISingleStore = Record; export declare class KismetFile { readonly id: ProcessId; /** * The main sequence that is attached to this project */ mainSequence: Sequence; /** * The name of the kismet project. * Can be found as the .udk name / map name. */ projectName: string; /** * Layout options for positioning kismet nodes */ layout?: SequencePositionOptions; /** * The sequences of streamed levels in this project that will be connected to this file. */ streamedLevels?: KismetFile[]; constructor(options: projectOptions); /** * Convert nodes to an array of items * @see {@link KismetFile.listDefaultItems} to list the default items * @param input An object that holds the custom items * @returns The converted array of items * @example * const items = KismetFile.listItems({ * Actions: { * MyAction * } * }) // [MyAction] * @example * const items = KismetFile.listItems({ * Actions: { * MyAction, * MyCategory: { * TestAction * } * } * }) // [MyAction] */ static listItems(input: Record<'Actions' | 'Conditions' | 'Events' | 'Variables', IStore>): SequenceItemTypeof[]; /** * Log data in a project to the console * @returns if the input was logged */ static debug(input: string, project: KismetFile): boolean; /** * Log text to the console if the 'debug' option in this project is enabled * @param input */ debug(input: string): void; private debugSequences; private search; toString(): string; } export {}; //# sourceMappingURL=project.d.ts.map