import { ResolveableUserModel } from '../../composables';
import { UserModel, User } from '../../models';
import { VNode } from 'vue';
type Sortable = Pick<UserModel, 'username' | 'email'> & {
    timestamp: number;
};
export type HeadlessUserListProps = {
    userIds?: string[];
    users?: User[];
    badges?: Record<string, string[]>;
    displayMail?: boolean;
    defaultSortField?: keyof Sortable;
    compareFn?: (userA: ResolveableUserModel, userB: ResolveableUserModel) => number;
};
declare var __VLS_1: {
    ListComponent: VNode<import('vue').RendererNode, import('vue').RendererElement, {
        [key: string]: any;
    }>;
    SearchComponent: VNode<import('vue').RendererNode, import('vue').RendererElement, {
        [key: string]: any;
    }>;
    users: ResolveableUserModel[] | undefined;
};
type __VLS_Slots = {} & {
    default?: (props: typeof __VLS_1) => any;
};
declare const __VLS_base: import('vue').DefineComponent<HeadlessUserListProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<HeadlessUserListProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
