export type { SettingsBooleanNode, SettingsNode, SettingsNumberNode, SettingsStringNode, } from "../../shared/index.js"; export type * from "./app-settings.js"; export type * from "./app-settings-schema.js"; export type * from "./settings-schema.js"; import type { SettingsBooleanNode, SettingsNumberNode, SettingsStringNode, Settings as SettingsType } from "../../shared/index.js"; import type { ScopedSettingsSchema } from "./settings-schema.js"; import type { TypeOfSettingNode } from "./utils/typeof-setting-node.js"; export * from "./utils/typeof-setting-node.js"; export declare const Settings: SettingsType & { Schema: { /** A setting holding a string value. */ string(): SettingsStringNode; /** A setting holding a number value. */ number(): SettingsNumberNode; /** A setting holding a boolean value. */ boolean(): SettingsBooleanNode; }; /** * Define the workspace-scoped settings schema of your app. * * The schema must be the default export of `src/app/settings/schema.ts` so the CLI can * discover it. Node builders live under `Settings.Schema.*`. * * @example * import {Settings} from "attio" * * export default Settings.defineWorkspaceSchema({ * defaultTeamId: Settings.Schema.string(), * autoCreateCustomers: Settings.Schema.boolean(), * syncIntervalMinutes: Settings.Schema.number(), * }) */ defineWorkspaceSchema(fields: TFields): Settings.WorkspaceSettingsSchema; }; export declare namespace Settings { /** The stored setting values for a schema. Values are `null` until set. */ type SettingsValues = { [Key in keyof TFields]: TypeOfSettingNode | null; }; /** A workspace-scoped schema built with `Settings.defineWorkspaceSchema`. */ interface WorkspaceSettingsSchema { readonly scope: "workspace"; readonly fields: TFields; } } //# sourceMappingURL=index.d.ts.map