import { ElementRef, QueryList } from '@angular/core';
import { TsDocumentService, TsWindowService } from '@terminus/ngx-tools/browser';
import { TsTooltipComponent } from '@terminus/ui/tooltip';
import { TsStyleThemeTypes } from '@terminus/ui/utilities';
/**
* The possible display formats for {@link TsCopyComponent}
*/
export declare type TsCopyDisplayFormat = 'standard' | 'minimal' | 'icon';
/**
* A component to facilitate the easy copying of text
*
* @example
* My text to copy!
*
* https://getterminus.github.io/ui-demos-release/components/copy
*/
export declare class TsCopyComponent {
private documentService;
private windowService;
/**
* Store a reference to the document object
*/
private document;
/**
* Internal flag to track if the contents have been selected
*/
hasSelected: boolean;
/**
* Define the copy icon
*/
icon: string;
/**
* Define the color of the material ripple
*/
rippleColor: string;
/**
* Store a reference to the window object
*/
private window;
/**
* Define access to the wrapper around the content to be copied
*/
content: ElementRef;
/**
* Define access to all tooltip instances
*/
tooltipCollection: QueryList;
/**
* Define if the initial click should select the contents
*/
disableInitialSelection: boolean;
/**
* Define if the copy to clipboard functionality is enabled
*/
enableQuickCopy: boolean;
/**
* Define the UI style
*
* @param value
*/
set format(value: TsCopyDisplayFormat);
get format(): TsCopyDisplayFormat;
private _format;
/**
* Define the component theme
*/
theme: TsStyleThemeTypes;
/**
* Inject services
*
* @param documentService
* @param windowService
*/
constructor(documentService: TsDocumentService, windowService: TsWindowService);
/**
* Return the inner text content
*
* @returns The text content of the inner
*/
get textContent(): string;
/**
* Select the text content of the passed in element
*
* @param element - The element whose text should be selected
* @param hasSelected - The flag defining if the selection has already been made
* @param disabled - The flag defining if the selection functionality should be disabled
* @returns The value representing if the copy was successful
*/
selectText(element: ElementRef, hasSelected: boolean, disabled: boolean): boolean;
/**
* Reset the text selection
* NOTE: The containing div must have a `tabindex` set or no blur event will be fired
*/
resetSelection(): void;
/**
* Copy text to the user's clipboard
*
* @param text - The text to copy
*/
copyToClipboard(text: string): void;
}