import { OnInit, ElementRef, ViewContainerRef, DoCheck, IterableDiffers } from '@angular/core';
import { MdSidenav } from '@angular/material';
import { CfCoreComponent } from '../core/core.component';
import { SidenavModel } from '../../models/sidenav/sidenav.model';
import { SidenavStylingModel } from '../../models/sidenav/sidenav-styling.model';
import { TemplateService } from '../../services/template-service/template.service';
/**
*
Sidenav component based on Angular Material Sidenav
* Example of using:
*
* <cf-sidenav [properties]="mySidenav" [styling]="mySidenavStyles">
* </cf-sidenav>
*
*/
export declare class CfSidenavComponent extends CfCoreComponent implements OnInit, DoCheck {
elementRef: ElementRef;
templateService: TemplateService;
/**
* SidenavModel object.
* Example of model:
* {{'{'}}
* contentId: 'mySidenavContent',
* leftSideId: 'mySidenavLeftSide',
* rightSideId: 'mySidenavRightSide',
* leftSideMode: 'push',
* rightSideMode: 'side',
* fullHeight: true,
* leftSideWidth: '35%',
* rightSideWidth: '300px',
* {{'}'}}
* contentId: string
* ng-template id (#) inside component tags to be used as html for sidenav content section
* leftSideId: string
* ng-template id (#) inside component tags to be used as html for sidenav left side
* rightSideId: string
* ng-template id (#) inside component tags to be used as html for sidenav right side
* leftSideMode: string
* Opening mode. Can be: over, push, side. Default: over
* rightSideMode: string
* Opening mode. Can be: over, push, side. Default: over
* fullHeight: boolean
* If the sidenav must take height of parent container. Default: false
* leftSideWidth: string
* Width of left side. Not specified by default and will adjust to fit content
* rightSideWidth: string
* Width of right side. Not specified by default and will adjust to fit content
*/
properties: SidenavModel;
/**
* Object for all styling properties:
* container: StylingModel
* Styling properties for main sidenav container
* content: StylingModel
* Styling properties for sidenav content section
* leftSide: StylingModel
* Styling properties for sidenav leftSide section
* rightSide: StylingModel
* Styling properties for sidenav rightSide section
*/
styling: SidenavStylingModel;
/**
* ng-template id (#) inside component tags to be used as html for sidenav content section.
*/
contentId: string;
/**@hidden*/
_contentIdIndex: number;
/**
* ng-template id (#) inside component tags to be used as html for sidenav left side.
*/
leftSideId: string;
/**@hidden*/
_leftSideIdIndex: number;
/**
* ng-template id (#) inside component tags to be used as html for sidenav right side.
*/
rightSideId: string;
/**@hidden*/
_rightSideIdIndex: number;
/**
* Opening mode. Can be: over, push, side. Default: over.
*/
leftSideMode: string;
/**
* Opening mode. Can be: over, push, side. Default: over.
*/
rightSideMode: string;
/**
* If the sidenav must take height of parent container. Default: false.
*/
fullHeight: boolean;
/**
* Width of left side. Not specified by default and will adjust to fit content.
*/
leftSideWidth: string;
/**
* Width of right side. Not specified by default and will adjust to fit content.
*/
rightSideWidth: string;
/**@hidden*/
cfSidenavTemplates: any;
/**@hidden*/
sidenavElement: any;
/**@hidden*/
leftSide: MdSidenav;
/**@hidden*/
sidenavContent: ViewContainerRef;
/**@hidden*/
rightSide: MdSidenav;
/**@hidden*/
differ: any;
/**@hidden*/
_templatesChecked: any;
/**@hidden*/
constructor(elementRef: ElementRef, templateService: TemplateService, /**@hidden */ differs: IterableDiffers);
/**@hidden
* Init all component data
*/
ngOnInit(): void;
/**@hidden*/
ngDoCheck(): void;
}