/** @module @airtable/blocks/models: globalConfig */ /** */
/** A path of keys indexing into the global config object */
export declare type GlobalConfigPath = ReadonlyArray<string>;
/** A single top level key or a path into the global config object */
export declare type GlobalConfigKey = GlobalConfigPath | string;
/** A {@link GlobalConfigPath}, with some parts of the path unknown (`undefined`) */
export declare type PartialGlobalConfigPath = ReadonlyArray<string | undefined>;
/** A {@link GlobalConfigKey} with some parts of the path/key unknown (`undefined`) */
export declare type PartialGlobalConfigKey = PartialGlobalConfigPath | string | undefined;
/** An array of {@link GlobalConfigValue}s */
export interface GlobalConfigArray extends ReadonlyArray<GlobalConfigValue> {
}
/** An object containing {@link GlobalConfigValue|GlobalConfigValues} */
export interface GlobalConfigObject {
    readonly [key: string]: GlobalConfigValue | undefined;
}
/** The types of value that can be stored in globalConfig. */
export declare type GlobalConfigValue = null | boolean | number | string | GlobalConfigArray | GlobalConfigObject;
/** @hidden */
export interface GlobalConfigData {
    [key: string]: GlobalConfigValue | undefined;
}
/** An instruction to set `path` within globalConfig to `value`. */
export interface GlobalConfigUpdate {
    /** The path to update. */
    readonly path: GlobalConfigPath;
    /** The value at `path` after updating. */
    readonly value: GlobalConfigValue | undefined;
}
/** A version of {@link GlobalConfigUpdate} where not all values are yet known. */
export interface PartialGlobalConfigUpdate {
    /** The path to update. */
    readonly path?: PartialGlobalConfigPath | undefined;
    /** The value at `path` after updating. */
    readonly value?: GlobalConfigValue | undefined;
}
/** @hidden */
export declare type GlobalConfigPathValidationResult = {
    isValid: true;
} | {
    isValid: false;
    reason: string;
};
