import { Portal } from '@angular/cdk/portal';
import * as i0 from '@angular/core';
import { Type, TemplateRef, InjectionToken, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { NzSafeAny } from 'ng-zorro-antd/core/types';
import { NzEmptyI18nInterface } from 'ng-zorro-antd/i18n';

/**
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */
/**
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */

type NzEmptySize = 'normal' | 'small' | '';
type NzEmptyCustomContent = Type<NzSafeAny> | TemplateRef<NzSafeAny> | string | null;
declare const NZ_EMPTY_COMPONENT_NAME: InjectionToken<string>;

/**
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */

type NzEmptyContentType = 'component' | 'template' | 'string';
declare class NzEmbedEmptyComponent implements OnChanges, OnInit {
    private configService;
    private viewContainerRef;
    private cdr;
    private injector;
    nzComponentName?: string;
    specificContent?: NzEmptyCustomContent;
    content?: NzEmptyCustomContent;
    contentType: NzEmptyContentType;
    contentPortal?: Portal<NzSafeAny>;
    size: NzEmptySize;
    constructor();
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    private renderEmpty;
    private getUserDefaultEmptyContent;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzEmbedEmptyComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzEmbedEmptyComponent, "nz-embed-empty", ["nzEmbedEmpty"], { "nzComponentName": { "alias": "nzComponentName"; "required": false; }; "specificContent": { "alias": "specificContent"; "required": false; }; }, {}, never, never, true, never>;
}

/**
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */

declare const NzEmptyDefaultImages: readonly ["default", "simple"];
type NzEmptyNotFoundImageType = (typeof NzEmptyDefaultImages)[number] | null | string | TemplateRef<void>;
declare class NzEmptyComponent implements OnChanges, OnInit {
    private i18n;
    private cdr;
    private destroyRef;
    nzNotFoundImage: NzEmptyNotFoundImageType;
    nzNotFoundContent?: string | TemplateRef<void> | null;
    nzNotFoundFooter?: string | TemplateRef<void>;
    isContentString: boolean;
    isImageBuildIn: boolean;
    locale: NzEmptyI18nInterface;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzEmptyComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzEmptyComponent, "nz-empty", ["nzEmpty"], { "nzNotFoundImage": { "alias": "nzNotFoundImage"; "required": false; }; "nzNotFoundContent": { "alias": "nzNotFoundContent"; "required": false; }; "nzNotFoundFooter": { "alias": "nzNotFoundFooter"; "required": false; }; }, {}, never, never, true, never>;
}

declare class NzEmptyDefaultComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<NzEmptyDefaultComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzEmptyDefaultComponent, "nz-empty-default", ["nzEmptyDefault"], {}, {}, never, never, true, never>;
}

declare class NzEmptySimpleComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<NzEmptySimpleComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzEmptySimpleComponent, "nz-empty-simple", ["nzEmptySimple"], {}, {}, never, never, true, never>;
}

declare class NzEmptyModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<NzEmptyModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<NzEmptyModule, never, [typeof NzEmptyComponent, typeof NzEmbedEmptyComponent, typeof NzEmptyDefaultComponent, typeof NzEmptySimpleComponent], [typeof NzEmptyComponent, typeof NzEmbedEmptyComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<NzEmptyModule>;
}

export { NZ_EMPTY_COMPONENT_NAME, NzEmbedEmptyComponent, NzEmptyComponent, NzEmptyDefaultComponent, NzEmptyModule, NzEmptySimpleComponent };
export type { NzEmptyCustomContent, NzEmptySize };
