import * as i0 from '@angular/core';
import { TemplateRef } from '@angular/core';

type Context$3 = Record<string, never>;
declare class SdSuffixDefDirective {
    readonly templateRef: TemplateRef<Context$3>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdSuffixDefDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdSuffixDefDirective, "[sdSuffixDef]", never, {}, {}, never, never, true, never>;
}

type Context$2 = Record<string, never>;
declare class SdLabelDefDirective {
    readonly templateRef: TemplateRef<Context$2>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdLabelDefDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdLabelDefDirective, "[sdLabelDef]", never, {}, {}, never, never, true, never>;
}

interface Context$1<TValue = unknown, TItem = unknown> {
    value?: TValue | null;
    selectedItem?: TItem | null;
    selectedItems?: TItem[] | null;
}
declare class SdViewDefDirective<TValue = unknown, TItem = unknown> {
    static ngTemplateContextGuard<TValue, TItem>(_dir: SdViewDefDirective<TValue, TItem>, _ctx: unknown): _ctx is Context$1<TValue, TItem>;
    readonly templateRef: TemplateRef<Context$1<TValue, TItem>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdViewDefDirective<any, any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdViewDefDirective<any, any>, "[sdViewDef]", never, {}, {}, never, never, true, never>;
}

interface Context<T = unknown> {
    $implicit?: T;
    item: T;
}
declare class SdItemDefDefDirective<T = unknown> {
    static ngTemplateContextGuard<T>(_dir: SdItemDefDefDirective<T>, _ctx: unknown): _ctx is Context<T>;
    readonly templateRef: TemplateRef<Context<T>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdItemDefDefDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdItemDefDefDirective<any>, "[sdItemDef]", never, {}, {}, never, never, true, never>;
}

export { SdItemDefDefDirective, SdLabelDefDirective, SdSuffixDefDirective, SdViewDefDirective };
