import { KbqUsernameMode, KbqUsernameStyle } from './types';
import * as i0 from "@angular/core";
/**
 * Basic user info
 * @docs-private
 */
export type KbqUserInfo = {
    firstName?: string;
    lastName?: string;
    middleName?: string;
    login?: string;
    site?: string;
};
/** Styles the primary part of the username (e.g. full name). */
export declare class KbqUsernamePrimary {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsernamePrimary, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqUsernamePrimary, "[kbqUsernamePrimary]", ["kbqUsernamePrimary"], {}, {}, never, never, true, never>;
}
/** Styles the secondary part. */
export declare class KbqUsernameSecondary {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsernameSecondary, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqUsernameSecondary, "[kbqUsernameSecondary]", ["kbqUsernameSecondary"], {}, {}, never, never, true, never>;
}
/** Styles a secondary hint. */
export declare class KbqUsernameSecondaryHint {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsernameSecondaryHint, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqUsernameSecondaryHint, "[kbqUsernameSecondaryHint]", ["kbqUsernameSecondaryHint"], {}, {}, never, never, true, never>;
}
/** Custom content for `KbqUsername`, overrides default view. */
export declare class KbqUsernameCustomView {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsernameCustomView, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqUsernameCustomView, "kbq-username-custom-view, [kbq-username-custom-view]", ["kbqUsernameCustomView"], {}, {}, never, never, true, never>;
}
/**
 * Displays a user's name based on profile data.
 * Supports different display modes and visual styles.
 * A custom view can be provided via `<kbq-username-custom-view>` for full control over the output.
 * Accepts input profile data and optional formatting options.
 */
export declare class KbqUsername {
    /** User profile data used for display. */
    readonly userInfo: import("@angular/core").InputSignal<KbqUserInfo | undefined>;
    /** Enables compact display mode */
    readonly isCompact: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    /** Format string for rendering the user's full name. */
    readonly fullNameFormat: import("@angular/core").InputSignal<string>;
    /**
     * Display mode of the username.
     * @default inline
     */
    readonly mode: import("@angular/core").InputSignal<KbqUsernameMode>;
    /**
     * Visual style of the username.
     * @default default
     */
    readonly type: import("@angular/core").InputSignal<KbqUsernameStyle>;
    /**
     * Custom projected view for username rendering.
     * @docs-private
     */
    protected readonly customView: import("@angular/core").Signal<KbqUsernameCustomView | undefined>;
    /** @docs-private */
    protected readonly hasFullName: import("@angular/core").Signal<string | false | undefined>;
    /** @docs-private */
    protected readonly class: import("@angular/core").Signal<string>;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsername, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqUsername, "kbq-username", ["kbqUsername"], { "userInfo": { "alias": "userInfo"; "required": false; "isSignal": true; }; "isCompact": { "alias": "isCompact"; "required": false; "isSignal": true; }; "fullNameFormat": { "alias": "fullNameFormat"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, ["customView"], ["kbq-username-custom-view,[kbq-username-custom-view]"], true, never>;
}
