import { ElementRef, NgZone, OnChanges, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { LyTheme2, ThemeVariables, StyleCollection, LyClasses, StyleTemplate, ThemeRef, StyleRenderer, WithStyles } from '@alyle/ui';
import { Platform } from '@angular/cdk/platform';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from "@angular/core";
export interface LyCardTheme {
    /** Styles for Card Component */
    root?: StyleCollection<((classes: LyClasses<typeof STYLES>) => StyleTemplate)> | ((classes: LyClasses<typeof STYLES>) => StyleTemplate);
}
export interface LyCardVariables {
    card?: LyCardTheme;
}
export declare const STYLES: (theme: ThemeVariables & LyCardVariables, ref: ThemeRef) => {
    $priority: number;
    $name: string;
    root: () => (_className: string) => string;
    bgImg: (_className: string) => string;
    content: (_className: string) => string;
    actions: (_className: string) => string;
    actionsItem: (_className: string) => string;
};
/** @docs-private */
export declare class LyCardBase {
    _theme: LyTheme2;
    _ngZone: NgZone;
    _platform: Platform;
    constructor(_theme: LyTheme2, _ngZone: NgZone, _platform: Platform);
}
/** @docs-private */
export declare const LyCardMixinBase: import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/build-common-behaviors").CanStyleUpdater> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/bg").CanBg> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/color").CanColor> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/raised").CanRaised> & import("@alyle/ui").CanDisableCtor & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/outlined").CanOutlined> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/elevation").CanElevation> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/shadow-color").CanShadowColor> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/disable-ripple").CanDisableRipple> & typeof LyCardBase;
export declare class LyCard extends LyCardMixinBase implements OnChanges, OnInit, OnDestroy {
    private theme;
    private _el;
    private renderer;
    static readonly и = "LyCard";
    /**
     * styles
     * @docs-private
     */
    readonly classes: LyClasses<(theme: ThemeVariables & LyCardVariables, ref: ThemeRef) => {
        $priority: number;
        $name: string;
        root: () => (_className: string) => string;
        bgImg: (_className: string) => string;
        content: (_className: string) => string;
        actions: (_className: string) => string;
        actionsItem: (_className: string) => string;
    }>;
    constructor(theme: LyTheme2, _el: ElementRef, renderer: Renderer2, ngZone: NgZone, platform: Platform);
    ngOnChanges(): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LyCard, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyCard, "ly-card", never, { "bg": { "alias": "bg"; "required": false; }; "color": { "alias": "color"; "required": false; }; "raised": { "alias": "raised"; "required": false; }; "outlined": { "alias": "outlined"; "required": false; }; "elevation": { "alias": "elevation"; "required": false; }; "shadowColor": { "alias": "shadowColor"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class LyCardContent implements OnInit {
    private el;
    private renderer;
    private card;
    constructor(el: ElementRef, renderer: Renderer2, card: LyCard);
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LyCardContent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyCardContent, "ly-card-content", never, {}, {}, never, never, false, never>;
}
export declare class LyCardActions implements OnInit {
    private el;
    private renderer;
    private card;
    disableActionSpacing: BooleanInput;
    constructor(el: ElementRef, renderer: Renderer2, card: LyCard);
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LyCardActions, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyCardActions, "ly-card-actions", never, { "disableActionSpacing": { "alias": "disableActionSpacing"; "required": false; }; }, {}, never, never, false, never>;
}
/**
 * @dynamic
 */
export declare class LyCardMedia implements WithStyles, OnInit {
    readonly sRenderer: StyleRenderer;
    /**
     * Aspect ratio
     *
     * e.g:
     * 4:3
     * 1:1
     */
    set ratio(val: string);
    get ratio(): string;
    constructor(sRenderer: StyleRenderer, card: LyCard);
    static readonly и = "LyCardMedia";
    static readonly $priority = -1;
    static ngAcceptInputType_bgImg: string;
    private _ratio;
    bgImg: string;
    [0x2]: string;
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LyCardMedia, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyCardMedia, "ly-card-media", never, { "ratio": { "alias": "ratio"; "required": false; }; "bgImg": { "alias": "bgImg"; "required": false; }; }, {}, never, never, false, never>;
}
