export declare const DEFAULT_GROUP = "$DEFAULT";
export type GroupQuery = string | RegExp;
export type GroupKey<TPresets extends Presets> = keyof TPresets | string | typeof DEFAULT_GROUP;
export type Presets = Record<string, GroupQuery | GroupQuery[]>;
export type OrganizedGroup<TValue> = {
    values: TValue[];
    query: GroupQuery;
};
export type OrganizedResult<TValue> = {
    groups: OrganizedGroup<TValue>[];
    flat: TValue[];
};
export interface BaseOrganizeOptions<TPresets extends Presets> {
    presets?: TPresets;
    groups: GroupKey<TPresets>[];
    sort?: OrganizeOptionsSort;
    ignoreCase?: boolean;
}
export type OrganizeOptionsSort = "ASC" | "DESC" | boolean;
export interface MapOrganizeOptions<TPresets extends Presets, TValue> extends BaseOrganizeOptions<TPresets> {
    map: (value: TValue) => string;
}
export type OrganizeOptions<TPresets extends Presets, TValue> = BaseOrganizeOptions<TPresets> | MapOrganizeOptions<TPresets, TValue>;
export declare function miniorganize<TPresets extends Presets>(values: string[], options: BaseOrganizeOptions<TPresets>): OrganizedResult<string>;
export declare function miniorganize<TPresets extends Presets, TValue>(values: TValue[], options: MapOrganizeOptions<TPresets, TValue>): OrganizedResult<TValue>;
