/**
 * @module Utilities
 */
import type { AtLeastOne, OneOrMore } from "../../../utilities/types/_module.js";
/**
 * @internal
 */
type KeySettings = {
    prefixArr: AtLeastOne<string>;
    key: OneOrMore<string>;
    identifierDelimeter: string;
    keyDelimeter: string;
};
/**
 *
 * IMPORT_PATH: `"@daiso-tech/core/utilities"`
 * @group KeyPrefixer
 */
export declare class Key {
    private readonly prefixArr;
    private readonly key;
    private readonly identifierDelimeter;
    private readonly keyDelimeter;
    /**
     *
     * @internal
     */
    constructor(settings: KeySettings);
    get original(): OneOrMore<string>;
    get resolved(): string;
    get prefixed(): string;
}
/**
 *
 * IMPORT_PATH: `"@daiso-tech/core/utilities"`
 * @group KeyPrefixer
 */
export type KeyPrefixerSettings = {
    identifierDelimeter?: string;
    keyDelimeter?: string;
    keyIdentifier?: string;
    rootIdentifier?: string;
    groupIdentifier?: string;
};
/**
 *
 * IMPORT_PATH: `"@daiso-tech/core/utilities"`
 * @group KeyPrefixer
 */
export declare class KeyPrefixer {
    private readonly _rootPrefix;
    private readonly identifierDelimeter;
    private readonly keyDelimeter;
    private readonly rootIdentifier;
    private readonly keyIdentifier;
    constructor(_rootPrefix: OneOrMore<string>, settings?: KeyPrefixerSettings);
    get originalRootPrefix(): OneOrMore<string>;
    get resolvedRootPrefix(): string;
    private validate;
    private getKeyPrefixArray;
    get keyPrefix(): string;
    create(key: OneOrMore<string>): Key;
}
export {};
