import { SourceCodeTransformer, UnoGenerator, ShortcutValue } from '@unocss/core';
import MagicString from 'magic-string';

interface KeepOption {
    /**
     * keep prefix for your alias.
     *
     * @default '+'
     */
    prefix: string;
    /**
     * Decedide whether to put it in `blocklist`.
     *
     * @default true
     */
    block: boolean;
}
interface TransformerAliasOptions {
    /**
     * Prefix for your alias.
     *
     * @default "*"
     */
    prefix?: string;
    /**
     * Prefix for your alias and keep the original class.
     *
     * @default '+'
     */
    keep?: string | KeepOption;
}
declare function transformerAlias(options?: TransformerAliasOptions): SourceCodeTransformer;
declare function transformAlias(code: MagicString, uno: UnoGenerator, { prefix, keep, }?: TransformerAliasOptions): Promise<void>;
declare function expandShortcut(input: string, uno: UnoGenerator, depth?: number): Promise<[ShortcutValue[]] | undefined>;

export { type KeepOption, type TransformerAliasOptions, transformerAlias as default, expandShortcut, transformAlias };
